Оператор Inherits
Вызывает текущий класс или интерфейс наследовать атрибуты, переменные, свойства, процедуры и события из другого класса или набора интерфейсов.
Синтаксис
Inherits basetypenames
Детали
Термин | Определение |
---|---|
basetypenames |
Обязательный. Имя класса, от которого наследуется этот класс. –или– Имена интерфейсов, от которых наследуется этот интерфейс. Используйте запятые для разделения нескольких имен. |
Замечания
Если используется, Inherits
инструкция должна быть первой непустой, некомментационной строкой в определении класса или интерфейса. Он должен немедленно следовать инструкции или Interface
инструкцииClass
.
Можно использовать 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
, должен реализовывать каждый член каждого базового интерфейса.