void main(List<String> arguments) {
var a = A();
}
///抽象类只会复写父类中[没有方法体]的方法,只有抽象类可以定义没有方法体的方法。
class A extends B with C, D {
@override
b() {
// TODO: implement b
throw UnimplementedError();
}
@override
c() {
// TODO: implement c
throw UnimplementedError();
}
}
///只使用implements时必须重写父类里面的所有方法。
class AA implements B,A {
@override
b() {
// TODO: implement b
throw UnimplementedError();
}
@override
bb() {
// TODO: implement bb
throw UnimplementedError();
}
@override
c() {
// TODO: implement c
throw UnimplementedError();
}
@override
cc() {
// TODO: implement cc
throw UnimplementedError();
}
@override
dd() {
// TODO: implement dd
throw UnimplementedError();
}
}
///-==================================
abstract class B {
bb() {
print('这是有方法体的方法');
}
b(); //没有方法体
}
abstract class C {
cc() {
print('这是有方法体的方法');
}
c(); //没有方法体
}
class D {
dd() {
print('这是dd中有方法体的方法');
}
}
THE END