TypeScript和继承

Nic*_*kon 1 typescript

我需要一些帮助TypeScript.如何做扩展方法继承?

假设我们有一个MyClass只用一种方法命名的类Method1():

class MyClass {
   constructor () { }

   public Method1(): void {
   }
}
Run Code Online (Sandbox Code Playgroud)

现在我想创建一个子类,添加一个名为的新方法Method2():

class MyClassExtension {
   public Method2(): void {
   }
}
Run Code Online (Sandbox Code Playgroud)

当我有接口时,我可以通过声明一个具有相同名称的新接口来完成此操作:

interface MyInterface {
   Method1(): void;
}

interface MyInterface {
   Method2(): void;
}

var x: MyInterface;
x.Method1(); // ok
x.Method2(); // ok
Run Code Online (Sandbox Code Playgroud)

但我不知道如何为课程做这个:/任何人可以帮助我吗?

提前致谢!!!

Joh*_*yHK 10

这是标准的类继承,所以你可以这样做:

class MyClassExtension extends MyClass {
   public Method2(): void {
   }
}
Run Code Online (Sandbox Code Playgroud)

在您的interface示例中,您没有声明具有相同名称的新接口,而是将MyInterface定义拆分为两个部分定义.接口定义是开放式的,但类不是.

  • 值得注意的是,这也适用于接口,并且是表达接口继承的更清晰的方式(IMO). (2认同)