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 实例化// 抽象类的作用个人理解为 是去定义一个规则 而具体如何实现规则 则由继承抽象类的子类重写函数进行实现// 需要使用 abstractabstract class About { void have_name();}