TypeScript中implements与extends的区别

本文聚焦implements与extends的区别,这样有益于高效准确的使用

implements与extends的定位

implements

顾名思义,实现,一个新的类,从父类或者接口实现所有的属性和方法,同时可以重写属性和方法,包含一些新的功能

extends

顾名思义,继承,一个新的接口或者类,从父类或者接口继承所有的属性和方法,不可以重写属性,但可以重写方法

注意点

  1. 接口不能实现接口或者类,所以实现只能用于类身上,即类可以实现接口或类
  2. 接口可以继承接口或类
  3. 类不可以继承接口,类只能继承类
  4. 可多继承或者多实现

Java版的implements与extends

Java作为老牌面向对象语言,对比学习下,看下差异点。

  1. 同上,接口不能实现接口或者类,类不可以继承接口,类只能继承类,可多继承或者多实现
  2. 与TS有所区别的是,接口不能继承类,接口只能继承接口

写在最后

上述也只是抛砖引玉,启发下而已,更多的是要在实际的开发中不断灵活的运用接口和类。

参考文档