Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Наследование С#

Наследование C#

В этом руководстве мы узнаем о наследовании C# и его типах с помощью примеров.

В C# наследование позволяет нам создавать новый класс из существующего класса. Это ключевая особенность объектно-ориентированного программирования (ООП).

Класс, из которого создается новый класс, известен как базовый класс (родительский или суперкласс). И новый класс называется производным классом (дочерним или подклассом)

Производный класс наследует поля и методы базового класса. Это помогает повторно использовать код в C#.

<час>

Как выполнить наследование в C#?

В C# мы используем 07 символ для выполнения наследования. Например,

01

Здесь мы наследуем производный класс Dog. из базового класса Animal . Собака class теперь может обращаться к полям и методам Animal класс.<рисунок>

<час>

Пример:наследование C#

10 

Вывод

28

В приведенном выше примере мы создали подкласс Dog. из суперкласса Animal . Обратите внимание на утверждения,

32

Здесь мы используем лабрадор (объект Dog) для доступа к имени и отображение() Животное учебный класс. Это возможно, потому что производный класс наследует все поля и методы базового класса.

Кроме того, мы получили доступ к названию поле внутри метода Dog класс.

<час>

является отношениями

В C# наследование — это отношение «является». Мы используем наследование только в том случае, если между двумя классами существует отношение «есть». Например,

  • Собака является животным
  • Яблоко является фруктом
  • Автомобиль это транспортное средство

Мы можем вывести Собаку от Животное учебный класс. Точно так же Apple из фруктов класс и автомобиль из автомобиля класс.

<час>

защищенные элементы в наследовании C#

Когда мы объявляем поле или метод как 17 , к нему можно получить доступ только из того же класса и его производных классов.

Пример:защищенные участники в наследовании

40

Вывод

59

В приведенном выше примере мы создали класс с именем Animal. . Класс включает защищенный метод eat() .

Мы получили Собаку класс из класса Animal учебный класс. Обратите внимание на заявление,

61

Поскольку 22 можно получить доступ из производных классов, мы можем получить доступ к eat() метод из Dog класс.

<час>

Типы наследования

Существуют следующие типы наследования:

1. Одиночное наследование

При одиночном наследовании один производный класс наследуется от одного базового класса.

<рисунок>

2. Многоуровневое наследование

При многоуровневом наследовании производный класс наследуется от базового, а затем тот же производный класс действует как базовый класс для другого класса.

<рисунок>

3. Иерархическое наследование

При иерархическом наследовании несколько производных классов наследуются от одного базового класса.

<рисунок>

4. Множественное наследование

При множественном наследовании один производный класс наследуется от нескольких базовых классов. C# не поддерживает множественное наследование. Однако мы можем добиться множественного наследования через интерфейсы.

<рисунок>

5. Гибридное наследование

Гибридное наследование представляет собой комбинацию двух или более типов наследования. Сочетание многоуровневого и иерархического наследования является примером гибридного наследования.

<рисунок> <час>

Переопределение метода в наследовании C#

Если один и тот же метод присутствует и в базовом классе, и в производном классе, метод производного класса переопределяет метод базового класса. В C# это называется переопределением метода. Например,

73

Вывод

80

В приведенном выше примере функция eat() метод присутствует как в базовом классе, так и в производном классе.

Когда мы вызываем eat() с помощью Собаки объект лабрадор ,

90

метод внутри Dog называется. Это потому, что метод внутри Dog переопределяет тот же метод внутри Animal .

Обратите внимание, мы использовали 30 и переопределить с методами базового класса и производного класса соответственно. Здесь

  • 40 - позволяет переопределить метод производным классом
  • 58 - указывает, что метод переопределяет метод из базового класса
<час>

ключевое слово base в наследовании C#

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

Но что, если мы также хотим вызвать метод базового класса?

В этом случае мы используем 62 ключевое слово для вызова метода базового класса из производного класса.

Пример:ключевое слово base в наследовании C#

107

Вывод

115

В приведенном выше примере функция eat() метод присутствует как в базовом классе Animal и производный класс Dog . Обратите внимание на заявление,

120

Здесь мы использовали 71 ключевое слово для доступа к методу Animal класс из класса Собака класс.

<час>

Важность наследования в C#

Чтобы понять важность наследования, давайте рассмотрим ситуацию.

Предположим, мы работаем с правильными многоугольниками, такими как квадраты, прямоугольники и так далее. И мы должны найти периметр этих многоугольников на основе входных данных.

1. Поскольку формула для вычисления периметра является общей для всех правильных многоугольников, мы можем создать RegularPolygon класс и метод calculatePerimeter() для расчета периметра.

134

2. И унаследовать Square и Прямоугольник классы из RegularPolygon учебный класс. Каждый из этих классов будет иметь свойства для хранения длины и количества сторон, поскольку они разные для всех многоугольников.

147

Мы передаем значение length и стороны для вычисления периметра() для вычисления периметра.

Именно так наследование делает наш код пригодным для повторного использования и делает его более интуитивно понятным.

Пример:важность наследования

159

Вывод

166

В приведенном выше примере мы создали RegularPolygon. класс, в котором есть метод вычисления периметра правильного многоугольника.

Здесь Квадрат и Прямоугольник наследовать от RegularPolygon .

Формула вычисления периметра общая для всех, поэтому мы повторно использовали функцию calculatePerimeter(). метод базового класса.

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


Язык C

  1. Класс и объект С#
  2. Модификаторы доступа C#
  3. C# статическое ключевое слово
  4. Абстрактный класс и метод С#
  5. Вложенный класс С#
  6. Частичный класс C# и частичный метод
  7. Запечатанный класс и метод С#
  8. Полиморфизм в С++
  9. Абстракция данных в C++
  10. С# — Структура программы