1. Dart中的抽象类
Dart抽象类主要用于定义标准,在抽象类中定义继承它的子类必须有哪些方法。
抽象类通过abstract关键字来定义,抽象类中没有方法体的方法称为抽象方法,类似于C 中的虚函数。
抽象类不能被实例化,只有继承它的子类才可以,子类必须实现抽象类里面定义的抽象方法才能实例化。
2. Dart中的多态
Dart中的多态与C 中的虚基类相似,允许将子类类型的指针赋值给父类类型的指针。
在实现上,将子类的实例赋值给父类的引用,父类的引用调用父类中存在的抽象类方法,从而间接的调用在子类中覆写的抽象类方法。
3. Dart中的接口
Dart和Java一样也有接口,但是和Java还是有区别的。
Dart的定义接口无需interface关键字,同样使用 implements 关键字进行实现。
Dart如果实现的类是普通类,会将普通类和抽象中的属性的方法全部需要覆写一遍。
4. Dart中一个类实现多个接口
extends抽象类 和 implements 的区别:
1. 如果要复用抽象类里面的方法,并且要用抽象方法约束子类的话就用extends继承抽象类。
2. 如果只是把抽象类当做标准的话就用implements实现抽象类。