类与继承

TypeScript 教程 · 第 6 章 · 7 次浏览

TS 的类和 JS 的 class 基本一致,增加了类型标注和访问修饰符(public/private/protected),让面向对象更严格。

类的基本结构

属性声明时标类型,构造函数初始化;方法写返回类型。

访问修饰符

  • public:默认,任何地方可访问
  • private:只有类内部能访问
  • protected:类内部和子类能访问
  • readonly:只读,初始化后不能改

继承与抽象类

extends 继承;abstract class 定义抽象类,abstract 方法子类必须实现。

代码示例

abstract class Animal {
    constructor(protected name: string) {}
    abstract makeSound(): void;   // 子类必须实现
}

class Dog extends Animal {
    makeSound(): void {
        console.log(`${this.name} 汪汪叫`);
    }
}

class Cat extends Animal {
    private lives = 9;            // 私有属性
    makeSound(): void {
        console.log(`${this.name} 喵喵叫`);
    }
}

const dog = new Dog("旺财");
dog.makeSound();