继承
TypeScript中用关键字extends指明继承关系。例如,已经定义了类A,如果让类B继承A,我们把A叫做基类,B叫子类。可以用下面的方式定义类B。
class B extends A {
// 类B中的成员
}
如果我们要在子类中调用基类中的属性与方法就要使用super关键字。如下代码:
class Animal { //定义基类
name:string;
constructor(theName: string) { this.name = theName; }
move(meters: number) {
document.write(this.name + " moved " + meters + "m.");
}
}
class Snake extends Animal { //继承基类
constructor(name: string) {
super(name); //调用基本类的构造函数
}
move() { //重写了基类的方法
document.write("Slithering...<br>");
super.move(5); //调用基类的方法
}
}
var sam = new Snake("Python"); //声明Snake类
sam.move();
在TypeScript中我们采用“extends”关键字来表示类的继承关系。在这里你可以看见“Snake”继承“Animal”的子类实现。在实例中也展示如何去重写父类的方法,在这里“Snake”创建了一个“move”方法来重写父类“Animal”的“move”方法,并通过“super”关键字来调用父类的方法。
在右面的编辑器中去试一试吧!