C#继承(一)——继承的类型
来源:互联网 发布:淘宝店运费险怎么设置 编辑:程序博客网 时间:2024/06/03 21:45
面向对象的三个最重要的概念是继承、封装和多态性。
首先介绍一些面向对象(Object-Oriented,OO)术语,看看C#在继承方面支持和不支持的功能。
●单重继承:表示一个类可以派生自一个基类。C#就采用这种继承。
●多重继承:多重继承允许一个类派生自多个类。C#不支持类的多重继承,但允许接口的多重继承。
●多层继承:多层继承允许继承有更大的层次结构。类B派生自类A,类C又派生自类B。
其中,类B也称为中间基类,C#支持它,也很常用。
●接口继承:定义了接口的继承。这里允许多重继承。
下面讨论继承和C#的某些特定问题。
1、多重继承
一些语言(如C++)支持所谓的“多重继承”,即一个类派生自多个类。对于实现继承,多重继承会给生成的代码增加复杂性,还会带来一些开销。因此,C#的设计人员决定不支持类的多重继承,因为支持多重继承会增加复杂性,还会带来一些开销。
而C#又允许类型派生自多个接口。一个类型可以实现多个接口。这说明,C#类可以派生自另一个类和任意多个接口。更准确地说,因为System.Object是一个公共的基类,所以每个C#类(除了Object类之外)都有一个基类,还可以有任意多个基接口。
2、结构和类
结构是值类型,类是引用类型。使用结构的一个限制是结构不支持继承,但每个结构都自动派生自System.ValueType。不能编码实现结构的类型层次,但结构可以实现接口。换言之,结构并不支持实现继承,但支持接口继承。定义的结构和类可以总结为:
●结构总是派生自System.ValueType,它们还可以派生自任意多个接口。
●类总是派生自System.Object或用户选择的另一个类,它们还可以派生自任意多个接口。
- C#继承(一)——继承的类型
- C#继承(二)——实现继承
- c# 继承(一)
- 继承类的类型
- 泛类型的继承
- 黑马程序员—C#继承
- 继承——代码块的继承
- C#中的继承(一)
- C#中的继承(一)
- C#高级编程二十二天----继承的类型
- 关于C#间接继承的一些思考:如何修改继承函数的返回值类型
- C#的继承机制
- C#类的继承
- C# 事件的继承
- C# 事件的继承
- 圈点C#的继承
- C# 的继承体系
- C# 事件的继承
- Java 中的 WeakHashMap
- mediaPlayer播放过程中出现自动停止
- WPF 长时间无鼠标键盘操作自动回到主页
- 数组
- How can i change the title?
- C#继承(一)——继承的类型
- UE4蓝图节点翻译--- Print String
- 单片机的第一个实验程序
- ADV-123-概率计算
- npm设置路径大全
- github使用总结
- 中断下半部-软中断
- hiveserver2详解
- cxf + spring4 做一个restful工程的例子