问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

协变和抗变的意思

发布网友 发布时间:2022-04-27 13:39

我来回答

2个回答

热心网友 时间:2022-04-27 15:08

协变、抗变英文分别是 Covariance 、Contravariance ,形容词为 '-ce '==> '-t '
这是数学和物理学术语,在OO领域中也有应用。 “共变”、“逆变”是一种译法,另外一种译法是“协变”、“抗变”。特别在OO领域,基本上都是用后面这组。此外还有“不变(Nonvariance)”。
在OO中,协变是指按照继承链正向改变,抗变是指逆向改变。示例如下:
class Base
{
public:
virtual RB func(PB);
}
class Derived : public Base
{
public:
virtual RD func(PD);
}

此处Base::func 和 Derived::func 表示同一个虚函数。XB是Base中的返回值和形参;XD表示字(应该是子,转注)类中的。则协变表示XD继承XB(与Derived -- Base的关系相协);抗变表示XB继承XD(与Derived -- Base的关系相抗),不变当然是XD与XB相同.
目前,一般认为,返回值可以协变;参数则不可以(也有认为参数可以抗变)。
在C++标准的虚函数中,返回值协变,参数不变。即RD可以是RB的派生类,PD则一定与PB相同。在.NET 4之前,泛型接口是不变的。.NET 4通过协变和抗变为泛型接口和泛型委托添加了一个重要的扩展。
协变和抗变指对参数和返回值的类型进行转换。
在.NET中,参数类型是协变的。方法的返回类型是抗变的。

热心网友 时间:2022-04-27 16:26

yiyang
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
牡丹叶子枯了怎么办 牡丹枯叶怎么回事 "他同情冤魂、惩办恶人,既有同情心又主持公道,既可爱又恐怖” 冯宝成传销诈骗邪教组织 冯保成团队,传销诈骗,家人深陷其中,求助。 南朝词臣北朝客,归来唯见秦淮碧。 池台竹树三亩馀至今人道江家宅的意思 池台竹树三亩馀至今人道江家宅是什... 高效、加分学习工具——小小答题错题本上线了 如何将三张合在一起的图片合并 砂锅红烧肉的做法 最正宗的做法_砂锅红烧肉怎么做 砂锅版红烧肉做法: 计算机安全的三个重要目标是什么 计算机的发展目标 可信计算的发展 计算机器的基本目标是什么? 平板支撑1分钟2次是什么意思? 每天平板支撑一分钟,做五次。加慢跑大概三千米左右,一个月可以瘦多少斤? 帮忙解释一下.net里Func<TResult>的意思 如何用生牛肉做熟牛肉求解 甜椒牛肉炒饭怎么做? 请问下蒜苔甜椒牛肉丝的做法? 甜椒牛肉怎么做 c#协变 逆变.解决什么问题 济南7月份92#汽油价格 在哪里可以下载到微软拼音输入法体验版? 能打出繁体字的微软拼音输入法的下载地址 济南哪儿汽油价格最低 汽油价格真的降了吗? ——→济南今天的汽油价格 济南汽油多少钱一升 如何生儿子的机率高呢?哪些方法可以提高概率,能行不 作文 我们班的牛人 初中作文 《晒晒我们班的“牛人”》 初中作文《我们班的牛人》1000字 中学生晒晒我们班的牛人作文有关口才 以 因为有了 为半命题作文600字速求 因为集体有了我 作文600字大学生 作文:因为有了我(要写我帮助同学的一件事)550~600字 不会写啊,明天就要... 因为有——我更——作文600字初二 因为有我,____ 为题,写作文,记叙文,记叙你和你家人的故事,情感真实,600字 染头发多久能洗头 “天下熙熙,皆为利来;天下攘攘,皆为利往。”是谁说的 协变张量和逆变张量是什么? 大班挑战类篮球游戏如何开展? 百信查查是否真的可以查征信??? 协变张量和逆变张量有何区别?仅仅是上下标的区别吗? 求LOL五黑名字格式谢谢~ 求一个全民超神霸气的五黑名字,要格式一样的,最好邪恶点的 lol五黑名字格式()先生不会()丶 宏基笔记本官方网址 爆破药量计算