C#中的继承
继承是面向对象的编程语言的一项功能,可方便你定义提供特定功能(数据和行为)的基类,并定义继承或重写此功能的派生类。
什么是继承?
继承是面向对象的编程的一种基本特性。 借助继承,能够定义可重用(继承)、扩展或修改父类行为的子类。 成员被继承的类称为基类。 继承基类成员的类称为派生类。
C#只支持单一继承。 也就是说,类只能继承自一个类。 不过,继承是可传递的。这样一来,就可以为一组类型定义继承层次结构。 换言之,类型 4
可继承自类型 3
,其中类型 3
继承自类型 2
,类型 2
又继承自基类类型 1
。 由于继承是可传递的,因此类型 4
继承了类型 1
的成员。
并非所有基类成员都可供派生类继承,如静态构造函数
下边的示例A.B
是派生自 A
的嵌套类,而 C
则派生自 A
。 私有 A.value
字段在 A.B
中可见。 不过,如果从 C.GetValue
方法中删除注释并尝试编译示例,则会生成编译器错误 CS0122:“‘A.value’ 不可访问,因为它具有一定的保护级别。”
using System;