我想使用TypeScript abstract class
,并强制实现在它可以使用的类中定义函数/变量。
abstract class Animal {
sound: string;
speak() {
console.log(this.sound);
}
}
class Cat extends Animal {
sound = 'meow';
}
const c = new Cat()
c.speak()
sound
应该是Cat
的必需属性,并且还将继承Animal的speak
。
像这样可能吗?
是的,即使在此示例中它并不明显,我也需要abstract class
。
答案 0 :(得分:0)
您可以在Animal中定义抽象属性abstract sound: string
,以便Cat必须实现它:
abstract class Animal {
abstract sound: string;
speak() {
console.log(this.sound);
}
}
答案 1 :(得分:-1)
您可以将abstract
添加到属性中,这将允许在继承的类中对其进行定义。
abstract class Animal {
abstract sound: string;
speak() {
console.log(this.sound);
}
}
class Cat extends Animal {
sound = 'meow';
}
const c = new Cat()
c.speak()