TypeScript类和多态、抽象类、访问修饰符
warning:
这篇文章距离上次修改已过187天,其中的内容可能已经有所变动。
// 定义一个基类
abstract class Animal {
// 抽象方法,子类必须实现
abstract makeSound(): void;
}
// 实现具体的狗类
class Dog extends Animal {
makeSound() {
console.log('汪汪汪!');
}
}
// 实现具体的猫类
class Cat extends Animal {
makeSound() {
console.log('喵喵喵!');
}
}
// 使用多态,通过基类类型调用makeSound方法
function makeAnimalsSound(animals: Animal[]) {
animals.forEach((animal) => {
animal.makeSound();
});
}
// 创建实例
const dog = new Dog();
const cat = new Cat();
// 使用多态调用方法
makeAnimalsSound([dog, cat]);
这段代码展示了如何在TypeScript中使用多态、抽象类和抽象方法。Animal
是一个抽象类,它定义了一个抽象方法makeSound
。Dog
和Cat
是继承自Animal
的具体类,它们分别实现了makeSound
方法。makeAnimalsSound
函数接受一个Animal
数组作为参数,演示了如何使用多态来处理不同的Animal
子类实例。
评论已关闭