Inherits Statement
导致当前类或接口从其他类或接口集继承特性、变量、属性、过程和事件。
语法
Inherits basetypenames
组成部分
术语 | 定义 |
---|---|
basetypenames |
必需。 派生此类的类名称。 -或- 派生此接口的接口名称。 使用逗号分隔多个名称。 |
注解
如果使用了 Inherits
语句,则它必须是类或接口定义中的第一个非空非注释行。 它应该紧跟在 Class
或 Interface
语句之后。
只能在类或接口中使用 Inherits
。 这意味着继承的声明上下文不能是源文件、命名空间、结构、模块、过程或块。
规则
类继承。 如果类使用
Inherits
语句,则只能指定一个基类。一个类不能从嵌套在其中的另一个类继承。
接口继承。 如果接口使用
Inherits
语句,则可以指定一个或多个基接口。 可以从两个接口继承,即使它们各自定义了具有相同名称的成员。 如果这样做,实现代码必须使用名称限定来指定其要实现的成员。一个接口不能从另一个具有更严格的访问级别的接口继承。 例如,
Public
接口不能从Friend
接口继承。一个接口不能从嵌套在其中的另一个接口继承。
.NET Framework 中类继承的一个示例是 ArgumentException 类,它继承自 SystemException 类。 这将向 ArgumentException 提供系统异常所需的所有预定义属性和过程,例如 Message 属性和 ToString 方法。
.NET Framework 中接口继承的一个示例是 ICollection 接口,它继承自 IEnumerable 接口。 这将导致 ICollection 继承遍历集合所需的枚举器的定义。
示例 1
以下示例使用 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
示例 2
以下示例显示多个接口的继承。
Public Interface thisInterface
Inherits IComparable, IDisposable, IFormattable
' Add new property, procedure, and event definitions.
End Interface
名为 thisInterface
的接口现在包含 IComparable、IDisposable 和 IFormattable 接口中的所有定义。继承的成员分别提供两个对象的特定类型比较,释放已分配的资源,并将对象的值表示为 String
。 实现 thisInterface
的类必须实现每个基接口的所有成员。