首先协変与逆变都是相对于委托来说的,所谓协変就是委托的返回类型是其委托对象(也就是委托函数)的返回类型的父类,类似于C++中的基类指针指向派生类对象,C++中对于子类重写父类的虚函数也有类似的应用。
所谓逆变,就是委托的参数类型是其委托对象的参数类型的子类,因为凡是父类可以出现的地方子类都可以代替,继承上子类包含了父类的所有特征。
首先协変与逆变都是相对于委托来说的,所谓协変就是委托的返回类型是其委托对象(也就是委托函数)的返回类型的父类,类似于C++中的基类指针指向派生类对象,C++中对于子类重写父类的虚函数也有类似的应用。
所谓逆变,就是委托的参数类型是其委托对象的参数类型的子类,因为凡是父类可以出现的地方子类都可以代替,继承上子类包含了父类的所有特征。
转载于:https://www.cnblogs.com/aswater-yuanye/archive/2012/09/09/2677370.html