現在得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