• 实现 - 实现接口
  • 泛化 - 继承父类
  • 关联 - A 是 B 的属性

    实现

    类之间的关系 - 图1
    实现一定要使用虚线和空心箭头 ```typescript interface IPerson { name: string age: number other: string sayHi(otherName: string): void }

class Person implements IPerson { name: string age: number constructor(name: string, age: number) { this.name = name this.age = age } sayHi(otherName: string) { console.log(hi, ${otherName}) } speak() {} eat() {} }

  1. 除了实现接口,还可以扩展一些方法,例如上诉栗子中,扩展了 other 属性,speakeat 方法
  2. <a name="hcyFP"></a>
  3. # 泛化(继承)
  4. ![](https://cdn.nlark.com/yuque/0/2022/jpeg/1670861/1656094937498-b2c204ec-bf3c-49c9-99e5-4c2992367bc8.jpeg)<br />实线,空心箭头
  5. ```typescript
  6. class Person {
  7. name: string
  8. age: number
  9. protected weight: number = 100
  10. private girlFriend: string = 'xxx'
  11. constructor(name: string, age: number) {
  12. this.name = name
  13. this.age = age
  14. }
  15. eat(){}
  16. speak() {}
  17. }
  18. class Student extends Person {
  19. school: string
  20. constructor(name: string, age: number, school: string) {
  21. super(name, age)
  22. this.school = school
  23. }
  24. study() {}
  25. eat() {}
  26. }
  27. class Teacher extends Person {
  28. major: string
  29. teach() {}
  30. }

关联

类之间的关系 - 图2

class Employee {
  name: string
  timeCard: TimeCard
  constructor(name: string, timeCard: TimeCard) {
    this.name = name
    this.timeCard = timeCard
  }
}

class TimeCard {}