1.minxin 限制必須無初始化分别,這條規(guī)定開始并不理解,后續(xù)通過查看minxin 官方的各種用法和對比Object-C上面的協(xié)議才豁然開朗樟澜,
2.官方也解釋就是解決對面向對象的多繼承恼蓬。
3. 所以 可以用于一些可提取(抽象)出來的通用方法和屬性阿趁,從而切面(橫向,或者理解為擁有部分相同特性但是沒有太大關聯的平級類)編程瀑志。
mixin ProtocolClass extends ?Object {
? ?//公共方法
? ? minxFunction () {
? ? }
? ?//不適合繼承關系的屬性涩搓,即上面的第三點描述
? ? late String name;
? ? late String otherProperty;
? ?...
}
Class BizClass1 extend Object mixin?ProtocolClass {
? ??BizClass1() {
? ? ? ? minxFunction();
? ? ? ?//可以訪問到ProtocolClass所有屬性和方法
? ? ? ? name = “BizClass1”;
? ? }
}
Class BizClass2 extend Object mixin?ProtocolClass {
? ? ?BizClass2() {
? ? ? ? minxFunction();
? ? ? ?//可以訪問到ProtocolClass所有屬性和方法
? ? ? ? name = “BizClass2”;
? ? }
}