Flutter/Dart 类名关键字extends,mixin,implements,abstract总结

1.继承 extends

  • dart里的继承是单继承,即只能又一个父类
  • 子类会继承父类所有非私有属性和方法
  • 子类重写父类的方法用@override,子类调用父类方法用super

2.混合 mixinwith

  • mixin不能有构造函数
  • 一个类可以mixin多个mixin
  • mixin不是继承

3.接口实现implements

  • 每个类都是一个隐式接口,包含所有的属性和方法
  • 当一个类被implements时, 子类需要重写该类的所有属性和方法,并在前面加@override

4.抽象类abstract

  • 不能被实例化,只能被子类继承
  • 可以在抽象类中定义抽象方法与普通方法,抽象方法不能有实现,且子类必须重写该方法,而普通方法不强制子类重写

抽象类与接口实现看起来有很多相似的地方, 但也有不同之处

abstract class interface class
不能实例化 可以实例化
只有抽象方法需要重写 所有属性与方法都要重写
只能继承一个抽象类 能implement多个类
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容