C# 继承的类型_微信

首先介绍一些面向对象(Object-Oriented,OO)术语,看看 C#在继承方面支持和不支持的功能。

·  单重继承:表示一个类可以派生自一个基类,C#就采用这种继承。 

·  多重继承:多重继承允许一个类派生自多个类。C#不支持类的多重继承,但允许接口的多重继承。 

·  多层继承:多层继承允许继承有更大的层次结构。类 B 派生自类 A,类 C 又派生自类 B。其中,类 B 也称为中间基类,C#支持它,也很常用。

·  接口继承:定义了接口的继承。这里允许多重继承,下面讨论继承和 C#的某些特定问题。


01 多重继承

一些语言(如C++)支持所谓的 “多重继承” ,即一个类派生自多个类。对于实现继承,多重继承会给生成的代码增加复杂性,还会带来一些开销。因此,C#的设计人员决定不支持类的多重继承,因为支持多重继承会增加复杂性,还会带来一些开销。

而 C#又允许类型派生自多个接口。一个类型可以实现多个接口。这说明,C#类可以派生自另一个类和任意多个接口。更准确地说,因为 System.Object 是一个公共的基类,所以每个 C#类(除了 Object 类之外)都有一个基类,还可以有任意多个基接口。


02  结构和类

使用结构的一个限制是结构不支持继承,但每个结构都自动派生自 SystemValueType 。不能编码实现结构的类型次,但结构可以实现接口。换言之,结构并不支持实现继承,但支持接口继承。定义的结构和类可以总结为:

·  结构总是派生自 System.ValueType,它们还可以派生自任意多个接口。

·  类总是派生自 System.Object 或用户选择的另一个类,它们还可以派生自任意多个接口。


欢迎关注公众号: dotnet编程大全


C# 继承的类型_多重继承_02

Love life,love yourself

关注小编不迷路呦~