📜  typescript 类继承 - TypeScript (1)

📅  最后修改于: 2023-12-03 14:48:05.544000             🧑  作者: Mango

Typescript 类继承 - TypeScript

在Typescript中,类继承是一种对象继承机制,它允许一个类从另外一个类继承所有的公有和受保护的成员,包括方法和属性。类继承在面向对象编程中是非常常见的一种机制,它使得代码的复用和扩展变得更加容易。

定义父类

我们首先来定义一个父类,它包含一个属性和一个方法:

class Animal {
  name: string;

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

  speak(): void {
    console.log(`${this.name} makes a noise.`);
  }
}

在这个例子中,我们定义了一个名为Animal的类,它包含一个字符串类型的name属性和一个void类型的speak方法,该方法将使用console.log方法输出一条字符串。

定义子类

现在我们来定义一个子类,它将继承自Animal类,并且可以拥有自己的属性和方法:

class Dog extends Animal {
  breed: string;

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

  bark(): void {
    console.log(`${this.name} barks loudly.`);
  }
}

在上面的例子中,我们定义了一个名为Dog的类,它继承自Animal类。Dog类包含一个字符串类型的breed属性和一个void类型的bark方法,该方法将使用console.log方法输出一条字符串。

我们还需要使用super关键字在构造函数中调用父类的构造函数。

使用子类

我们现在可以创建一个Dog类的实例,并调用它的speakbark方法:

const d = new Dog('Rover', 'Poodle');
d.speak();
d.bark();

以上代码将输出:

Rover makes a noise.
Rover barks loudly.

可以看到,Dog类成功继承了Animal类的speak方法并且拥有了自己的bark方法。

总结

使用类继承机制可以让我们更加容易地复用和扩展代码。在Typescript中,我们可以使用extends关键字来实现类继承,使用super关键字来调用父类的构造函数或方法。