函数类型与型变
函数类型与型变
型变描述了符合里氏替换原则的相关类型,在经过型变后是否符合和怎样符合里氏替换原则的特征。
经过类型构造后生成新的类型。
型变本身是类型构造器。
型变描述了构造器的特征;
继承中的协变逆变:
c++、java、scala都支持返回值协变,也就是说在继承层次中子类覆盖超类的方法时,可以指定返回值为更具体的类型。c#不支持返回值协变。
允许参数逆变的面向对象语言并不多——c++、java、scala和c#都会把它当成一个函数重载。
https://www.cnblogs.com/feng9exe/p/9760625.html
函数的参数:符合逆变;
函数的返回值:协变;
我思故我在