C#: наследование в действии | OTUS
Запланируйте обучение с выгодой в Otus!
-15% на все курсы до 22.11 Забрать скидку! →
Выбрать курс

C#: наследование в действии

Как известно, наследование необходимо для реиспользования кода, что облегчает следование принципу Don’t Repeat Yourself (DRY). Если тезисно, то наследование можно описать следующим образом: — это механизм создания нового класса на основании уже существующего; — старый класс является предком либо родительским классом (super class); — новый класс является наследником или дочерним классом (sub class); — дочерний класс включает в себя методы и переменные родительского класса.

Теперь давайте создадим консольное приложение, используя язык программирования C#. Назовем это приложение InheritanceAndPolymorphism и добавим туда 2 класса: ClassA и ClassB:

1-1801-d83744.png

Мы можем видеть, что класс А является пустым, а в класс B были добавлены 2 метода и переменная x, имеющая значение 100. В результате в главном методе Program.cs мы можем написать следующий код:

2-1801-2cde63.png

Конечно же, такой код приведет к ошибке:

3-1801-8e323b.png

Причина этой ошибки очевидна: в классе А отсутствует вызываемый нами метод. Но этот метод существует у класса B. Разве было бы не чудесно, если бы мы получили для класса B доступ ко всему программному коду из класса A? Вопрос риторический. Но тогда давайте поменяем описание первого класса:

4-1801-6fcc36.png

После того, как программа выполнится, вывод будет следующим:

ClassB Display1

Теперь ClassA будет наследовать публичные методы из ClassB, а это то же самое, как будто бы мы скопировали весь код из класса B в класс A. Таким образом все, что объект класса B может делать, может делать и объект класса A. ClassA в данном случае дочерний, а ClassB — родительский.

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

По материалам статьи «Diving in OOP (Day 2): Polymorphism and Inheritance (Inheritance)»: - https://www.codeproject.com/Articles/772238/Diving-in-OOP-Day-Polymorphism-and-Inheritance.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто
Черная пятница в Otus! ⚡️
Скидка 15% на все курсы до 22.11 →