3_类类型.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. //类类型: 类的类型,类的类型可以通过接口来实现
  2. (() => {
  3. //定义一个接口
  4. interface Alarm {
  5. alert(): any
  6. }
  7. //定义一个类 这个类的类型就是上面定义的接口
  8. class Car implements Alarm {
  9. //实现接口当中的方法
  10. alert() {
  11. console.log('car alert')
  12. }
  13. }
  14. //创建一个实例化对象
  15. const car = new Car()
  16. // car.alert()
  17. //定义一个接口
  18. interface Light {
  19. lightOn(): void
  20. lightOff(): void
  21. }
  22. //当前这个类 可以实现多个接口
  23. class Car2 implements Alarm, Light {
  24. alert() {
  25. console.log('car alert')
  26. }
  27. lightOn(): void {
  28. console.log('car light on')
  29. }
  30. lightOff(): void {
  31. console.log('car light off')
  32. }
  33. }
  34. const person2 = new Car2()
  35. // person2.lightOff()
  36. // person2.lightOn()
  37. // person2.alert()
  38. //总结: 类可以通过接口的方式 来定义当前这个类
  39. //类可以实现一个接口 也可实现多个接口
  40. //接口可以去继承其他的接口 可以是多个
  41. interface LightAble extends Alarm, Light { }
  42. //定义一个类 去实现这个新的接口
  43. class Car3 implements LightAble {
  44. alert() {
  45. console.log('car alert')
  46. }
  47. lightOn(): void {
  48. console.log('car light on')
  49. }
  50. lightOff(): void {
  51. console.log('car light off')
  52. }
  53. }
  54. //创建一个实例化对象
  55. const car3 = new Car3()
  56. car3.lightOff()
  57. car3.alert()
  58. })()