void main() {
var p = new Person();
p.sayHello();
}
class Eat {
void sayHello() {
print('in eat sayhello');
}
}
class See {
void sayHello() {
print('in See sayhello');
}
}
class See1 {
void sayHello() {
print('in See1 sayhello');
}
}
// 通过 with 实现 mixin
// 当多个类方法名相同时 先用自己的 如果自己没有 则用 最后一个mixin 的类的方法
class Person extends See1 with Eat, See, About {
void sayHello() {
print('in Person sayhello');
}
@override
void have_name() {
print('test');
}
}
// 而抽象类 更多是定义一个类 而没有去实现他 并且抽象类 也不能 使用 new 实例化
// 抽象类的作用个人理解为 是去定义一个规则 而具体如何实现规则 则由继承抽象类的子类重写函数进行实现
// 需要使用 abstract
abstract class About {
void have_name();
}