TypeScript ~ TS 面向对象编程 ⑧
    		       		warning:
    		            这篇文章距离上次修改已过442天,其中的内容可能已经有所变动。
    		        
        		                
                
// 定义一个基类,包含一个可以被子类覆盖的方法
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来调用基类的构造函数。这是面向对象编程中的一个基本概念。
评论已关闭