【发布时间】:2019-06-26 18:10:29
【问题描述】:
我是 OOP 范式的新手,我想知道条件继承是否可以在 TS 中以某种方式实现,这可以消除重复编写代码的需要。以下是我的想法。任何建议都会受到欢迎。
interface Person {
name: string;
age: number;
}
interface Animal {
genre: string;
age: number;
}
abstract class Base {
private velocity: number = 1;
run() {
// if Person extends base return velocity * 0.2; ??
return this.velocity * 0.4;
}
}
class Human extends Base implements Person {
...
}
class Dog extends Base implements Animal{
...
}
let marie = new Human('Marie', 22);
marie.run() //should be 0.2
let bennie = new Dog(...);
bennie.run() // should be 0.4
无论如何它可以工作还是唯一的可能性是在基类中将方法声明为抽象,然后分别为这两种情况实现它?
【问题讨论】:
标签: typescript oop inheritance