现在得sdk,案例中的B和C不能使用class修饰,需要用mixin
class A{
void a(){
print('A.a()...');
}
}
mixin B{
void b(){
print('B.b()...');
}
}
mixin C{
void c(){
print('C.c()...');
}
}
class D extends A with C, B{
}
void main(){
D d = D();
d.a();
}
class A{
void a(){
print('A.a()...');
}
}
mixin B{
void b(){
print('B.b()...');
}
}
mixin C{
void c(){
print('C.c()...');
}
}
class D extends A with C, B{
}
void main(){
D d = D();
d.a();
}
2023-07-06
这玩意可读性确实差,估计最早这么干也是为了替代js才这么搞的。js那么做是有历史原因的,所以好不好仁者见仁吧。作为面向对象的语言,我估计真的不太有价值,这个方法基本要很熟悉你的代码的人才能方便的调用,毕竟没有方法名。和你写个person.a()有啥区别,就不是给人看的。
2022-03-08