Inherits 语句
更新:2007 年 11 月
使当前类或接口继承另一个类或一组接口的属性 (Attribute)、变量、属性 (Property)、过程和事件。
Inherits basetypenames
各部分说明
basetypenames
必选。此类派生自的类的名称。- 或 -
此接口派生自的接口的名称。可使用逗号分隔多个名称。
备注
如果使用 Inherits 语句,则该语句必须是类或接口定义中的第一个非空白的非注释行。它应紧接在 Class 或 Interface 语句之后。
只能在类或接口中使用 Inherits。这意味着继承的声明上下文不能是源文件、命名空间、结构、模块、过程或块。
规则
**类继承。**如果类使用 Inherits 语句,则只能指定一个基类。
类不能从其内部嵌套的类继承。
**接口继承。**如果接口使用 Inherits 语句,则可以指定一个或多个基接口。可以从两个接口继承,即使它们各自定义了名称相同的成员也是如此。如果这样做,则实现代码必须使用名称限定来指定它实现的是哪个成员。
接口无法从另一个具有限制性更高的访问级别的接口继承。例如,Public 接口不能从 Friend 接口继承。
接口不能从其内部嵌套的接口继承。
.NET Framework 中的类继承示例是 ArgumentException 类,它从 SystemException 类继承。这向 ArgumentException 提供了系统异常所需的所有预定义属性和过程,如 Message 属性和 ToString 方法。
.NET Framework 中的接口继承示例是 ICollection 接口,它从 IEnumerable 接口继承。这导致 ICollection 继承在遍历集合时所需的枚举数定义。
示例
下面的示例使用 Inherits 语句来演示名为 thisClass 的类如何继承名为 anotherClass 的基类的所有成员。
Public Class thisClass
Inherits anotherClass
' Add code to override, overload, or extend members
' inherited from the base class.
' Add new variable, property, procedure, and event declarations.
End Class
下面的示例演示多个接口的继承。
Public Interface thisInterface
Inherits IComparable, IDisposable, IFormattable
' Add new property, procedure, and event definitions.
End Interface
现在,名为 thisInterface 的接口包含 IComparable、IDisposable 和 IFormattable 接口中的所有定义。继承的成员分别提供这些功能:对两个对象进行特定于类型的比较、释放分配的资源,以及将对象的值表示为 String。实现 thisInterface 的类必须实现每个基接口的每个成员。