Дом развитие Что такое базовый класс - .net? - определение из техопедии

Что такое базовый класс - .net? - определение из техопедии

Оглавление:

Anonim

Определение - Что означает Базовый класс - .NET?

Базовый класс в контексте C # - это класс, который используется для создания или получения других классов. Классы, производные от базового класса, называются дочерними классами, подклассами или производными классами. Базовый класс не наследуется ни от какого другого класса и считается родителем производного класса.


Базовый класс формирует средства, с помощью которых наследование осуществляется посредством деривации. Класс, производный от базового класса, наследует как данные, так и поведение. Например, транспортное средство может быть базовым классом, из которого могут быть получены производные классы автомобилей и автобусов. И автомобиль, и автобус являются транспортными средствами, и каждый из них представляет свои собственные специализации базового класса.


Как и в Java, но в отличие от C ++, C # не поддерживает множественное наследование классов. C # отличается от Java явной маркировкой виртуального модификатора для всех виртуальных членов.


Базовый класс также известен как родительский класс или суперкласс.

Техопедия объясняет базовый класс - .NET

Базовый класс помогает создать специализированный класс, который может повторно использовать код, неявно полученный из базового класса (кроме конструкторов и деструкторов), и расширить функциональность базового класса, добавляя или переопределяя члены, относящиеся к производному классу в производном классе. В C # события объявляются в базовом классе, который может быть вызван из производных классов. Универсальные классы, которые используются для инкапсуляции операций, которые не являются специфичными для конкретного типа данных, служат базовыми классами, обеспечивая общее поведение для достижения гибкости и возможности повторного использования кода.


Основные свойства базового класса в C #:

  • Члены базового класса (конструктор, метод экземпляра или метод доступа к свойству экземпляра) доступны в производном классе с помощью ключевого слова base.
  • Базовые классы автоматически создаются перед производными классами.
  • Производный класс может взаимодействовать с базовым классом во время создания экземпляра, вызывая конструктор базового класса с соответствующим списком параметров.
  • Члены базового класса могут быть доступны из производного класса посредством явного приведения.
  • Поскольку сам базовый класс может быть производным, у класса может быть много базовых классов.
  • Члены производного класса могут получить доступ к открытым, защищенным, внутренним и защищенным внутренним членам базового класса.
  • Из-за переходного характера наследования, хотя производный класс имеет только один базовый класс, он наследует члены, объявленные в родительском классе базового класса.
  • Объявив метод в базовом классе как виртуальный, производный класс может переопределить этот метод в своей собственной реализации. И переопределяемый, и переопределяющий метод и свойство должны иметь одинаковые модификаторы уровня доступа, такие как виртуальный, абстрактный или переопределенный.
  • Когда ключевое слово «abstract» используется для метода, оно должно быть переопределено в любом неабстрактном классе, который напрямую наследуется от этого класса.
  • Абстрактные базовые классы создаются с использованием ключевого слова "abstract" в его объявлении и используются для предотвращения прямой инициации с использованием ключевого слова "new". Их можно использовать только через производные классы, которые реализуют абстрактные методы.
  • Базовый класс может помешать другим классам наследовать его, объявив все члены «запечатанными».
  • Члены базового класса могут быть скрыты в производном классе, используя ключевое слово «new», чтобы указать, что член не предназначен для переопределения базового члена. Если «new» не используется, компилятор выдает предупреждение.

Хотя базовый класс и интерфейс могут использоваться взаимозаменяемо, классы являются более гибкими, чем интерфейсы с точки зрения управления версиями. Базовый класс предпочтителен в большинстве случаев, кроме следующих сценариев, где:

  • Несколько не связанных классов формируют базу для производного класса
  • Классы уже установили базовые классы
  • Агрегирование не подходит или не практично
Это определение было написано в контексте C #
Что такое базовый класс - .net? - определение из техопедии