函数类型与型变

函数类型与型变

型变描述了符合里氏替换原则的相关类型,在经过型变后是否符合和怎样符合里氏替换原则的特征。

经过类型构造后生成新的类型。

型变本身是类型构造器。

型变描述了构造器的特征;

继承中的协变逆变:

         c++、java、scala都支持返回值协变,也就是说在继承层次中子类覆盖超类的方法时,可以指定返回值为更具体的类型。c#不支持返回值协变。

允许参数逆变的面向对象语言并不多——c++、java、scala和c#都会把它当成一个函数重载。

https://www.cnblogs.com/feng9exe/p/9760625.html

函数的参数:符合逆变;

函数的返回值:协变;

原文地址:https://www.cnblogs.com/feng9exe/p/11430028.html