- Наследование в программировании: определение, виды, описание и отличия
- Наследование классов в ОО П ( объектно-ориентированном программировании)
- Простое наследование классов в программировании
- Множественное наслед ование классов в программировании
- Наследование в программировании: реализация в языках
- Заключение
Наследование в программировании: определение, виды, описание и отличия
Наследование классов в ОО П ( объектно-ориентированном программировании)
- родительские или базовые классы — это классы , от которых заимствовали характеристики и свойства;
- потомственные или наследующие классы — это классы, которые получились на основе характеристик родительских классов.
- простое,
- множественное.
Простое наследование классов в программировании
Простое наследование еще называет ся одиночным — это наслед ование , при котором создается «родство» между двумя классами. То ест ь о дин класс-потомок перенимает характеристики от одного родительского класса.
Даже если от одного родительского класса будет исходить несколько классов-потомков, это все равно будет прост ым наследование м . Простое наследование поддерживается большинством объектно-ориентированных языков, в отличие от множественного наслед ования .
Множественное наслед ование классов в программировании
Множественное наслед ование классов подразумевает ситуацию, когда один потомственный класс принимает характеристики от нескольких родительских классов. Такой подход помогает реализовывать очень гибкие и настраиваемые классы-потомки.
Его поддерживают не все ОО-языки. Например, множественное наслед ование поддерживают C, C++, Python, Eiffel, UML, но не поддерживают Java и C#. Некоторые языки отказались от множественного наслед ования , потому что оно является источником потенциальных ошибок из-за присутствия одинаковых имен у классов. Поэтому в таких языках было решено уйти от множественного наслед ования и заменить его интерфейсами.
Интерфейс — это подход в программировании, при котором определяются отношения между объектами, связанны ми похожими характеристиками. Такой подход довольно популярен в объектно-ориентированном программировании, так как исключает многие ошибки, возникающие в других подходах.
Наследование в программировании: реализация в языках
Давайте посмотрим , как реализуется наследование в некоторых языках программирования.
Наследование классов в С/С++ реализуется по следующему шаблону:
class Q <>; // Родительский класс
class W : public Q <>; // спецификатор Public
class E : protected Q <>; // спецификатор Protected
class R : private Q <>; // спецификатор Private
Как видно, в С/С++ наследование может быть организовано тремя спецификаторами. Данные спецификаторы объявляются в родительском и потомственном классе. Разный спецификатор — разные отношения между этими классами. Данной теме мы посвятим отдельную статью.
Множественное наследование на Python происходит по следующему шаблону:
class FirstParent(object): # первый родительский класс
def m1(self): pass
class SecondParent(object): # второй родительский класс
def m1(self): pass
class Inheritor(FirstParent, SecondParent): # Потомственный класс с двумя родительскими
В PHP реализация наследования происходит по следующему шаблону:
class Inheritor extends Parent
>
Важная особенность в PHP — родительский класс объявляется после потомственного класса, при этом обязательно использовать перед именем родительского класса ключево е слов о «extends».
Заключение
Наследование классов в программировании — это возможность повторно использовать уже написанный код для какого-либо класса. А это существенно экономит время на разработку и отладку программы.
Наследование классов — это процесс , связанный с объектно-ориентированным программированием, однако в разных ОО-языках он реализован по-разному. Например, множественное наследование поддерживают не все объектно-ориентированные языки.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.