class Animal {
name: string;
constructor(theName: string) {
this.name = theName;
}
move(distanceInMeters: number = 0) {
console.log(`${this.name} moved ${distanceInMeters}m.`);
}
}
class Snack extends Animal {
constructor(name: string) {
super(name);
}
move(distanceInMeters = 5) {
console.log("Slithering...");
super.move(distanceInMeters);
}
}
class Horse extends Animal {
constructor(name: string) {
super(name);
}
move(distanceInMeters = 45) {
console.log("galloping");
super.move(distanceInMeters);
}
}
let sam = new Snack("sammy the python");
let tom: Animal = new Horse("Tommy the palomino");
sam.move();
tom.move();
- 修饰符:(在TypeScript里,成员都默认为public)
- public
- private: 只能在生命他的类中访问
- protect : 在派生类中可以访问
- readonly: 只读属性必须在声明时或构造函数里被初始化