TypeScript ~ TS 面向对象编程 ⑧
// 定义一个基类,包含一个可以被子类覆盖的方法
class Animal {
name: string;
constructor(theName: string) { this.name = theName; }
move(distanceInMeters: number = 0) {
console.log(`${this.name} moved ${distanceInMeters}m.`);
}
}
// 定义一个继承自Animal的子类,并覆盖了move方法
class Dog extends Animal {
constructor(name: string) { super(name); }
move(distanceInMeters?: number) {
if (distanceInMeters === undefined) {
distanceInMeters = 5;
}
console.log(`${this.name} ran ${distanceInMeters}m.`);
}
}
// 测试代码
const dog = new Dog('Buddy');
dog.move();
这个例子展示了如何在TypeScript中定义一个基类以及如何创建一个继承自基类的子类。子类可以覆盖基类的方法,并且可以在子类的构造函数中调用super
来调用基类的构造函数。这是面向对象编程中的一个基本概念。
评论已关闭