Dart 中的抽象类与多态、接口

2020-12-09 10:51:28 浏览数 (1)

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实现抽象类。

0 人点赞