07-TypeScript类的概念和类的继承

上一章说了TypeScript的对象, 说完对象, 说TypeScript类。 类是对象的模板, 描述了所创建的对象共同的属性和方法。创建一个类的语法是这样

class className {
 属性
 构造函数
 方法
}

举例

class Animal {
 // 属性
 name: string
 color: string

 constructor(name: string, color: string) {
 this.name = name;
 this.color = color;
 }

 // 方法
 run() {
 console.log("动物会跑。。。")
 }
}
  • static关键字, 用于定义类的数据成员(属性和方法)为静态的, 静态成员和方法可以直接通过类名调用。举例
    class Dog {
     // 属性
     static color: string
    
     static show() {
     console.log(`我是一只${Dog.color}的狗`)
     }
    }
    
    Dog.color = "白色"
    Dog.show();
image
*   **访问控制修饰符**

    TypeScript 中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。 TypeScript 支持 3 种不同的访问权限。

    *   **public(默认)** : 公有,可以在任何地方被访问。

    *   **protected** : 受保护,可以被其自身以及其子类和父类访问。

    *   **private** : 私有,只能被其定义所在的类访问。

    * * *
  • 类的继承

    TypeScript 支持继承类,即我们可以在创建类的时候继承一个已存在的类,这个已存在的类称为父类,继承它的类称为子类。

    类继承使用关键字 extends,子类除了不能继承父类的私有成员(方法和属性)和构造函数,其他的都可以继承。

    注意: TypeScript 一次只能继承一个类,不支持继承多个类。举例

    class Animal {
     // 属性
     name: string
     color: string
    
     constructor(name: string, color: string) {
     this.name = name;
     this.color = color;
     }
    
     // 方法
     run() {
     console.log("动物会跑。。。")
     }
    }
    
    // Cat类继承了Animal类, 并且继承了父类的name属性和color属性
    class Cat extends Animal {
     call() {
     console.log(`我是${this.name}, 我的颜色是${this.color}`);
     }
    }
    
    let cat = new Cat("咪咪", "白色");
    cat.call(); 
image
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容