zoukankan      html  css  js  c++  java
  • TypeScript的类

    1.ts中定义类

    class Person{
      name:string;//属性 前面省略了public关键词
      constructor(name:string){//构造函数 实例化类的时候触发的方法
        this.name=name;
      }
      getName():string{
        return this.name;
      }
      setName(name:string):void{
        this.name=name;
      }
      run():void{
        alert(this.name);
      }
    }
    var p=new Person('张三');
    alert(p.getName());
    p.setName('李四');
    alert(p.getName());
    p.run()
    

      

    2.ts中实现继承 extends、super

    class Person{
      name:string;
      constructor(name:string){
        this.name=name;
      }
      run():string{
        return `${this.name}在运动`
      }
    }
    class Web extends Person{
      constructor(name:string){
        super(name); /*初始化父类的构造函数*/
      }
    }
    var w=new Web('李四');
    w.run();
    

      

    3.类里面的修饰符:public、protected、private


    4.静态属性 静态方法

    class Person{
      public name:string;
      public age:number=20;
      static sex="男";//静态属性
      constructor(name:string) {
        this.name=name;
      }
      run(){/*实例方法*/
        alert(`${this.name}在运动`)
      }
      work(){
        alert(`${this.name}在工作`)
      }
      static print(){/*静态方法 里面没法直接调用类里面的属性*/
        alert('print方法'+Per.sex);
      }
    }
    Person.print();
    alert(Person.sex);
    

      

    5.多态:父类定义一个方法不去实现,让继承它的子类去实现
      每一个子类有不同的表现,多态属于继承


    6.抽象类
      它是提供其他类继承的基类,不能直接被实例化。
      用abstract关键字定义抽象类和抽象方法,抽象类中的抽象方法不包含具体实现并且必须在派生类中实现。
      abstract抽象方法只能放在抽象类里面。
      抽象类和抽象方法用来定义标准。

  • 相关阅读:
    玄学最短路算法——Ex Floyd
    题解 CF785E 【Anton and Permutation】
    题解 P1825 【[USACO11OPEN]玉米田迷宫Corn Maze】
    实现非递归树链剖分
    题解 P3423 【[POI2005]BAN-Bank Notes】
    题解 P3871 【[TJOI2010]中位数】
    【带修改的主席树】理解题解 (P2617 【Dynamic Rankings】题解)
    快速计算高精乘低精---低精优化高精
    了解 yaml文件格式
    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'test.ac_flight' doesn't exist
  • 原文地址:https://www.cnblogs.com/heweiquan/p/11380708.html
Copyright © 2011-2022 走看看