Поделиться через


Инструкция Inherits

Обновлен: Ноябрь 2007

Вызывает текущий класс или интерфейс для наследования атрибутов, переменных, свойств, процедур и событий из другого класса или набора интерфейсов.

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, должен реализовать каждый член каждого базового интерфейса.

См. также

Основные понятия

Примеры реализации интерфейсов в Visual Basic

Ссылки

MustInherit

NotInheritable

MyBase

MyClass

Другие ресурсы

Наследование в Visual Basic