甘肃平凉建设局网站网络推广培训哪里好?

摘要:甘肃平凉建设局网站,网络推广培训哪里好,视觉vi设计系统,长沙装修网一,Mixins1,定义:Mixins 是一种在多个类层次结构中重用类代码的方法。
甘肃平凉建设局网站,网络推广培训哪里好,视觉vi设计系统,长沙装修网一#xff0c;Mixins1#xff0c;定义#xff1a;Mixins 是一种在多个类层次结构中重用类代码的方法。个人理解#xff1a;就是一个类#xff0c;这个类有一些方法#xff0c;其他类可以在不继承这个类的情况下使用这个类的方法。2#xff0c;几个关键词#xff08;1Mixins1定义Mixins 是一种在多个类层次结构中重用类代码的方法。个人理解就是一个类这个类有一些方法其他类可以在不继承这个类的情况下使用这个类的方法。2几个关键词1mixin:一般使用mixin关键字定义可以混合的类2with:使用混合时用with关键字1on:添加限定条件如下意思是这个类只能被on的类或者子类混合3现在有这个情况class A{A(){print(A constructor);}log() print(A log); } mixin AA on A{log() {print(AA log);} } mixin AB on A{overridelog() {super.log();print(AB log);} } //C是A的子类所以可以混合AA和AB class C extends A with AA,AB{overridelog() {super.log();print(C log);} }类C继承类A并且混合了AA和AB这几个类都有log方法现在执行C().log()会输出什么答案是I/flutter (16574): A constructor I/flutter (16574): AA log I/flutter (16574): AB log I/flutter (16574): C log因为混合类时进行混合的多个类是线性的所以他们的共有方法不会冲突会优先调用后面混合的类的方法所以混合的顺序决定了混合时相同的方法的处理逻辑。像这个例子执行的方法肯定是C.log但因为super.log()所以会调用AB.log,AA.log,因为AA.log没有super,所以没有调用A.log。mixin的类不能有构造函数,不能继承其他类因为mixin机制语义上是向一个类混入其他类的方法或者成员变量,使得我们可以在混合类中访问到混入类的方法或者属性。而混入其他类的构造函数实际上是没有意义的,因为不会有人手动去调用这个混入类的构造函数。
阅读全文