视频位置 TypeScript快速梳理_下篇 0:52:30
interface 与 抽象类的区别
- 相同点:都能定义⼀个类的格式(定义类应遵循的契约)
- 不相同:
1️⃣ 接⼝:只能描述结构,不能有任何实现代码,⼀个类可以实现多个接⼝。
2️⃣ 抽象类:既可以包含抽象⽅法,也可以包含具体⽅法, ⼀个类只能继承⼀个抽象类。
⼀个类可以实现多个接⼝
// FlyInterface 接⼝(起飞接口)
interface FlyInterface {
fly(): void;
}
// 定义 SwimInterface 接⼝(游泳接口)
interface SwimInterface {
swim(): void;
}
//鸭子类实现:
// Duck 类实现了 FlyInterface 和 SwimInterface 两个接⼝
class Duck implements FlyInterface, SwimInterface {
fly(): void {
console.log('鸭⼦可以⻜');
}
swim(): void {
console.log('鸭⼦可以游泳');
}
}
// 创建⼀个 Duck 实例
const duck = new Duck();
duck.fly(); // 输出: 鸭⼦可以⻜
duck.swim(); // 输出: 鸭⼦可以游泳
