Обзор наследования классов в Python

Наследование Python позволяет нам определить класс, который наследует все методы и свойства другого класса. Родительский класс — это наследуемый класс, также называемый базовым классом.

Дочерний класс — это класс, который наследуется от другого класса, также называемого производным классом. В данном руководстве рассмотрим обзор наследования классов в Python и примеры.

Наследование в Python

Пример наследования Python

Наследование — это способность одного класса получать или наследовать свойства какого-либо другого класса. Преимущества наследования:

  1. Оно хорошо представляет отношения в реальном мире.
  2. Обеспечивает возможность повторного использования кода. Нам не нужно писать один и тот же код снова и снова. Это также позволяет добавлять дополнительные функции в класс, не изменяя его.
  3. Оно транзитивно, что означает, что если класс B наследуется от другого класса A, то все подклассы B автоматически наследуются от класса A.

Пример кода:

Вывод:

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

Разобьем приведенный выше код на части.

Создание родительского класса

Создайте класс с именем Person, с именем в качестве свойства и двумя методами getName(), isStudent().

Создание дочернего класса

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

См. следующий код.

Теперь класс Student имеет те же свойства и методы, что и класс Person. Используйте класс Student для создания объекта, а затем выполните методы getName() и isStudent().

Добавление функции __init__()

Мы уже добавили функцию Constructor внутри класса Person.

Это означает, что во время создания объекта мы можем установить свойства класса.

Когда мы добавим функцию __init__() в дочерний класс (в нашем случае это класс Student), дочерний класс больше не будет наследовать родительскую функцию __init__(). Дочерняя функция __init__() переопределяет наследование родительской функции __init__().

Если вы хотите сохранить наследование родительской функции __init__(), добавьте вызов родительской функции __init__(). См. следующий код.

Различные формы наследования

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

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

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

Когда дочерний класс наследуется от нескольких родительских классов, это называется множественным наследованием.
В отличие от Java и C++, Python поддерживает множественное наследование. Мы указываем все родительские классы в виде списка через запятую в скобках.

См. следующий вывод.

Многоуровневое

Многоуровневое наследование означает отношения GrandParent -> Parents -> Children.

Вывод:

Иерархическое

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

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

Гибридное

Гибридное наследование представляет собой комбинацию множественного наследования и многоуровневого наследования. Класс является производным от двух классов, как при множественном наследовании. Однако один из родительских классов не является базовым классом. Это производный класс.

Гибридное наследование сочетает в себе несколько форм наследования. Это смесь более чем одного типа наследования.

Оцените статью

Автор статей и разработчик, делюсь знаниями.

Программирование на Python