一、类的定义
1、关键词 class
示例
class Animal
{
}
二、继承
1、关键词 extend
示例
//父类
class Animal {
run() {
print("动物都会跑!");
}
}
//子类
class Dog extends Animal
{
}
三、抽象类与抽象方法
1、Dart中抽象类使用abstract
关键词定义
abstract class Animal {
}
2、没用方法体的就是抽象方法
abstract class Animal {
eat();//抽象方法
}
四、接口
1、Dart 中普通类和抽象类都可以当作接口,但是接口是一种规范,所有通常情况使用抽象类当作接口,里面定义必须让子类实现的抽象方法。
关键词 implements
, @override
表示重写
示例
class Cat implements Animal{
@override
eat() {
throw UnimplementedError();
}
}
2、继承多个接口示例
abstract class A{
eat();
}
abstract class B{
run();
}
//C类继承了A类和B类
abstract class C implements A,B{
@override
eat() {
throw UnimplementedError();
}
@override
run() {
throw UnimplementedError();
}
}
注:如果A、B有一样的方法,C中调用时,后面继承的接口方法会覆盖前面的方法,即最后调用的是B的方法
五、泛型类、泛型方法、泛型接口
1、泛型类
//定义
class GetInfo<T>{
}
2、泛型方法
//定义
T GetData<T>(T value) {
return value;
}
//调用泛型方法
GetData<String>("你好,Dart")