请问如何详细解释C语言编程?

2026-05-17 14:1410阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1093个文字,预计阅读时间需要5分钟。

请问如何详细解释C语言编程?

基本概念+协变:能够使用比原始指定的生活类型更广泛的生活类型的生活过程类型。例如,IFoo父类=IFoo子类;逆变:能够使用比原始指定的生活类型更具体的生活类型的生活过程类型。例如,IFoo父类=IFoo子类。

基本概念

协变:能够使用比原始指定的派生类型的派生程度更大(更具体)的类型。例如 IFoo<父类> = IFoo<子类>
逆变:能够使用比原始指定的派生类型的派生程度更新(更抽象)的类型。例如 IBar<子类> = IBar<父类>

关键字out和in

协变和逆变在泛型参数中的表现方式,out关键字表示协变,in关键字表示逆变。二者只能在泛型接口或者委托中使用。

理解协变和逆变

看完上面的定义是不是一脸懵逼~~~。看不懂就对了,且定义语句的歧义性很大。让我们大脑赶紧清空下!!首先记住一点明确的概念,类的多态展示一定是通过基类来表示,派生的具体类都是可转化为基类,而不能走相反的流程。
下面我们用代码直观的表现下协变和逆变。

public class Animal { public void Eat() { } } public class Dog : Animal { public void Run() { } }

这是一段很简单的子类和父类的关系,我们进行一下简单的转化,应该很好理解,Dog子类可以用Animal父类展示,反过来则不可以,会编译错误。

阅读全文

本文共计1093个文字,预计阅读时间需要5分钟。

请问如何详细解释C语言编程?

基本概念+协变:能够使用比原始指定的生活类型更广泛的生活类型的生活过程类型。例如,IFoo父类=IFoo子类;逆变:能够使用比原始指定的生活类型更具体的生活类型的生活过程类型。例如,IFoo父类=IFoo子类。

基本概念

协变:能够使用比原始指定的派生类型的派生程度更大(更具体)的类型。例如 IFoo<父类> = IFoo<子类>
逆变:能够使用比原始指定的派生类型的派生程度更新(更抽象)的类型。例如 IBar<子类> = IBar<父类>

关键字out和in

协变和逆变在泛型参数中的表现方式,out关键字表示协变,in关键字表示逆变。二者只能在泛型接口或者委托中使用。

理解协变和逆变

看完上面的定义是不是一脸懵逼~~~。看不懂就对了,且定义语句的歧义性很大。让我们大脑赶紧清空下!!首先记住一点明确的概念,类的多态展示一定是通过基类来表示,派生的具体类都是可转化为基类,而不能走相反的流程。
下面我们用代码直观的表现下协变和逆变。

public class Animal { public void Eat() { } } public class Dog : Animal { public void Run() { } }

这是一段很简单的子类和父类的关系,我们进行一下简单的转化,应该很好理解,Dog子类可以用Animal父类展示,反过来则不可以,会编译错误。

阅读全文