TypeScript 互动版

继承


  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”关键字来调用父类的方法。

在右面的编辑器中去试一试吧!