继承
(function () {
class Animal {
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
sayHello() {
console.log("动物giaogiaogiao");
}
}
class Dog extends Animal {
run() {
console.log(this.name + "在跑");
}
sayHello() {
console.log(this.name + "在汪汪汪!");
}
}
class Cat extends Animal {
sayHello() {
console.log(this.name + "在喵喵喵!");
}
}
const dog = new Dog("旺财", 5);
const cat = new Cat("咪咪", 2);
console.log(dog);
console.log(cat);
dog.sayHello();
dog.run();
cat.sayHello();
})();
super
(function () {
class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
sayHello() {
console.log(this.name + "汪!");
}
}
class Dog extends Animal {
age: number;
constructor(name: string, age: number) {
super(name);
this.age = age;
}
sayHello() {
super.sayHello();
}
}
const dog = new Dog("旺财", 4);
dog.sayHello();
})();