🎯 学习目标

  • 理解类实现接口的概念
  • 掌握 implements 关键字的使用
  • 学会同时实现多个接口
  • 了解接口继承与类实现的区别

📝 基本语法

// 定义接口 interface IAnimal { name: string; speak(): string; } // 类实现接口 class Dog implements IAnimal { name: string; constructor(name: string) { this.name = name; } speak(): string { return `${this.name} says Woof!`; } } const dog = new Dog('Buddy'); console.log(dog.speak()); // "Buddy says Woof!"
💡
implements vs extends

implements 用于类实现接口;extends 用于类继承类。一个类可以 implements 多个接口,但只能 extends 一个父类。

🔀 实现多个接口

interface Named { name: string; } interface Aged { age: number; } interface Greeter { greet(): string; } // 实现多个接口 class Person implements Named, Aged, Greeter { constructor( public name: string, public age: number ) {} greet(): string { return `Hello, I'm ${this.name}, ${this.age} years old`; } } const person = new Person('Alice', 30); console.log(person.greet());

🔧 接口继承 + 类实现

// 接口继承 interface Serializable { serialize(): string; } interface Comparable { compareTo(other: any): number; } // 接口继承接口 interface Entity extends Serializable, Comparable { id: string; } // 类实现继承后的接口 class User implements Entity { constructor( public id: string, public name: string, public email: string ) {} serialize(): string { return JSON.stringify({ id: this.id, name: this.name, email: this.email }); } compareTo(other: User): number { return this.id.localeCompare(other.id); } } // 类同时继承和实现 class AdminUser extends User implements Entity { role: string = 'admin'; constructor(id: string, name: string, email: string) { super(id, name, email); } }

📝 本节小结

  • • implements 让类实现接口
  • • 类必须实现接口的所有成员
  • • 可以同时实现多个接口
  • • 可以同时继承类和实现接口