Dart “可观察的扩展对象”和“可观察的扩展对象”之间有什么区别
extensedobjectwithobservable和extensedobservable应用于下面的类有什么区别 运行应用程序时,结果相同Dart “可观察的扩展对象”和“可观察的扩展对象”之间有什么区别,dart,Dart,extensedobjectwithobservable和extensedobservable应用于下面的类有什么区别 运行应用程序时,结果相同 库模型; 进口“包装:聚合物/聚合物.dart”; 类Person扩展了具有可观察性的对象{ @可观察字符串名称; @可观测布尔签名协议=假; 人(); 来自(其他人){ name=other.name; signedAgreement=其他。signedAgreement; } 空白(){ 名称=“”; 签署协议=错误; } } 图书馆模型; 进口“
库模型;
进口“包装:聚合物/聚合物.dart”;
类Person扩展了具有可观察性的对象{
@可观察字符串名称;
@可观测布尔签名协议=假;
人();
来自(其他人){
name=other.name;
signedAgreement=其他。signedAgreement;
}
空白(){
名称=“”;
签署协议=错误;
}
}
图书馆模型;
进口“包装:聚合物/聚合物.dart”;
类人可观察{
@可观察字符串名称;
@可观测布尔签名协议=假;
人();
来自(其他人){
name=other.name;
signedAgreement=其他。signedAgreement;
}
空白(){
名称=“”;
签署协议=错误;
}
}
这两个声明的行为没有区别
这是:
使用mixin扩展“Object”时,第一个mixin始终可以代替“Object”
唯一的差别是类层次结构(超类
不相同):
导入“dart:mirrors”;
抽象类Mixin{}
类A扩展了Mixin{}
类B使用Mixin{}扩展对象
main(){
打印(反射类(A).超类);
//=>ClassMirror在“Mixin”上
打印(反射类(A).超类.超类);
//=>对象上的类镜像
打印(反射类(B).超类);
//=>dart.core.Object with.Mixin上的类镜像
打印(反射类(B).超类.超类);
//=>对象上的类镜像
}
非常感谢Alexandre。别忘了验证答案。