6、dart 语言学习 抽象类

57 阅读1分钟

概念

dart 抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象。在dart 语言中,没有接口。

  1. 抽象类通过abstract 关键字定义
  2. dart 中的抽象方法不能用abstract 声明,dart 中没有方法体的方法称为抽象方法
  3. 如果子类继承抽象类必须实现里面的抽象方法
  4. 如果把抽象类当作接口实现,必须实现抽象类里面定义的所有属性和方法
  5. 抽象类不能被实例化,只有继承他的子类可以

定义抽象类

使用关键字 abstract

abstract Person(){}

方法

abstract class Animal {
  String? name;
  int? height;
   eat();

}
/// 继承抽象类
class Dog extends Animal{
  @override
  eat() {
    name='李四';
    height=33;
    // TODO: implement eat
    throw UnimplementedError();
  }
}
///实现抽象类 
class Cat implements Animal{
  @override
  int? height;

  @override
  String? name;

  @override
  eat() {
    // TODO: implement eat
    throw UnimplementedError();
  }

}

Extends 抽象类 和implements 的区别

  1. 如果要复用抽象类里面的方法,并且要用抽象方法约束子类,我们就用Extends 抽象类
  2. 如果只是把抽象类当作标准,我们就用implements 去实现抽象类