Python

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

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

Python - это объектно-ориентированный язык программирования. На объектно-ориентированном языке программирования мы создаем классы и выполняем намеченные функции. Наследование - фундаментальная особенность объектно-ориентированных языков программирования. Наследование можно определить как способность одного класса наследовать все функции и свойства другого класса. Наследование по существу позволяет расширить свойства существующего класса. Наследование основано на двух основных концепциях:

  1. Родительский класс или базовый класс
  2. Дочерний класс или производный класс

Родительский класс - это класс, который позволяет наследовать другим классам от. Его также называют базовым классом. Дочерний класс или производный класс - это тот класс, который наследует все свойства и функции другого класса. Наследование дает несколько преимуществ, я.е., это представление реального феномена наследования. Это поощряет повторное использование кода. Если функция определена в одном классе, другой класс может унаследовать этот класс и использовать все существующие функции. Нет необходимости писать один и тот же код снова и снова для выполнения аналогичных задач. Наследование применяется на нескольких уровнях. Например, если класс B наследуется от класса A, а класс C наследуется от класса B, тогда класс C имеет все свойства класса B, а также класса A. Синтаксис наследования следующий:

Класс ParentClass:
Детали реализации родительского класса
класс ChildClass:
Детали реализации дочернего класса

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

В этой статье описаны и рассмотрены все аспекты наследования Python.

Реализация наследования в Python

Наследование может применяться во многих ситуациях. Предположим, вы создаете программную систему для университета. Он может состоять из нескольких заинтересованных сторон, таких как студенты, учителя, сотрудники и т. Д. Итак, у каждого человека есть имя, возраст, адрес электронной почты и другие общие свойства. Необязательно объявлять все свойства в каждом классе отдельно. Мы можем создать класс человека, и все классы заинтересованных сторон могут унаследовать все общие свойства и функции от класса человека. В этом случае нет необходимости снова и снова писать общие свойства в каждом классе. Точно так же мы можем рассматривать класс животных. В этом мире есть сотни видов животных. Все животные едят, спят, а также имеют некоторые виды. Эту концепцию также можно реализовать с помощью наследования.

Рассмотрим животное как суперкласс и реализуем наследование. В приведенном ниже примере мы создали один класс животных. Класс животных - это родительский класс. Кроме того, мы создали классы Dog и Cat, которые наследуют свойства и функции класса Animal. Ключевое слово pass используется в дочернем классе, когда нам не нужно реализовывать какие-либо расширенные функции в дочернем классе.

# создание родительского класса
класс Animal:
#initialization function
#initilization имя животного и вид вида
def __init __ (я, имя, вид_типа):
себя.name = имя
себя.specie_type = specie_type
# функция для вывода имени животного
def printname (self):
print ("Имя животного:", self.название)
# функция для печати вида животных
def printspecie (self):
print ("Тип вида:", self.specie_type)
# создание класса собак как дочернего класса класса животных
класс Dog (Животное):
# без расширения или модификации
проходить
# Теперь класс собак имеет доступ ко всем функциям и свойствам класса животных
# создание объекта класса dog
dogObj = Собака ("Собака", "плотоядное животное")
dogObj.printname ()
dogObj.printspecie ()
# создание класса кота как дочернего класса класса животных
класс Cat (Животное):
# функция инициализации класса cat
def __init __ (сам):
# вызов и использование функции инициализации класса животных
Животное.__init __ (я, «кот», «хищное млекопитающее»)
# Теперь класс кошек имеет доступ ко всем функциям и свойствам класса животных
# создание объекта класса cat
catObj = Кот ()
catObj.printname ()
catObj.printspecie ()

Выход

В «Животное.__init __ (я, «кошка», «плотоядное млекопитающее») » вызвать функцию инициализации класса Animal.

Функция super ()

Python предоставляет встроенную функцию super () для наследования всех свойств и функций родительского класса. Когда мы используем функцию super (), тогда нет необходимости упоминать имя родительского класса, как мы это делали в «Животное.__init __ (я, «кошка», «плотоядное млекопитающее») » но функция super () автоматически указывает на родительский класс. Воспользуемся супер функцией.

# создание родительского класса
класс Animal:
#initialization function
#initilization имя животного и вид вида
def __init __ (я, имя, вид_типа):
себя.name = имя
себя.specie_type = specie_type
# функция для вывода имени животного
def printname (self):
print ("Имя животного:", self.название)
# функция для печати вида животных
def printspecie (self):
print ("Тип вида:", self.specie_type)
# создание класса собак как дочернего класса класса животных
класс Dog (Животное):
# используя функцию super ()
def __init __ (я, имя, вид_типа):
супер().__init __ (имя, вид_типа)
# Теперь класс собак имеет доступ ко всем функциям и свойствам класса животных
# создание объекта класса собака
dogObj = Собака ("Собака", "плотоядное животное")
dogObj.printname ()
dogObj.printspecie ()
# создание класса кота как дочернего класса класса животных
класс Cat (Животное):
# функция инициализации класса cat
# используя функцию super ()
def __init __ (я, имя, вид_типа):
супер().__init __ (имя, вид_типа)
# Теперь класс кошек имеет доступ ко всем функциям и свойствам класса животных
# создание объекта класса cat
catObj = Cat («кошка», «плотоядное млекопитающее»)
catObj.printname ()
catObj.printspecie ()

Выход

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

# создание родительского класса
класс Animal:
#initialization function
#initilization имя животного и вид вида
def __init __ (я, имя, вид_типа):
себя.name = имя
себя.specie_type = specie_type
# функция для вывода имени животного
def printname (self):
print ("Имя животного:", self.название)
# функция для печати вида животных
def printspecie (self):
print ("Тип вида:", self.specie_type)
# создание класса собак как дочернего класса класса животных
класс Dog (Животное):
# используя функцию super ()
#pet name - это недавно добавленная функциональность
def __init __ (я, имя, specie_type, pet_name):
супер().__init __ (имя, вид_типа)
себя.pet_name = pet_name
# создание новой функции
def printpetname (self):
print ("Имя питомца:", self.имя питомца)
# Теперь класс собак имеет доступ ко всем функциям и свойствам класса животных
# создание объекта класса dog
dogObj = Dog («Собака», «плотоядное животное», «Макс»)
dogObj.printname ()
dogObj.printspecie ()
dogObj.printpetname ()
# создание класса кота как дочернего класса класса животных
класс Cat (Животное):
# функция инициализации класса cat
# используя функцию super ()
#adding свойств food и pet_name
def __init __ (self, name, specie_type, food, pet_name):
супер().__init __ (имя, вид_типа)
себя.food = еда
себя.pet_name = pet_name
# новая функция для доступа к информации о еде
def printfood (сам):
print ("Кошке нравится:", self.еда)
# новая функция для имени питомца
def printpetname (self):
print ("Имя питомца:", self.имя питомца)
# Теперь класс кошек имеет доступ ко всем функциям и свойствам класса животных
# создание объекта класса cat
catObj = Cat («кот», «плотоядное млекопитающее», «Бисквит», «Маргаритка»)
catObj.printname ()
catObj.printspecie ()

Выход

Функции, преобладающие

Переопределение функции - важная концепция наследования. Функция называется переопределенной функцией, если имя функции одинаково в родительском и дочернем классах, но реализация или функциональные возможности функции различаются в каждом классе. Давайте посмотрим на пример переопределенной функции в классе Animal. В приведенном ниже примере у нас есть функция еды в классах животных и в его дочерних классах (Dog и Cat). Имя функции в классах такое же, но реализация другая.

# создание родительского класса
класс Animal:
def eat (self):
print («Все животные едят еду»)
# создание объекта
animalObj = Животное ()
#calling function
animalObj.есть()
# создание класса собак
класс Dog (Животное):
def eat (self):
print («Собака ест мясо»)
# создание объекта
dogObj = Собака ()
#calling function
dogObj.есть()
класс Cat (Животное):
def eat (self):
print («Кот ест печенье и какую-то специальную еду»)
# создание объекта
catObj = Кот ()
#calling function
catObj.есть()

Выход

Заключение

Наследование - одна из фундаментальных концепций объектно-ориентированных языков программирования. Используя наследование, мы создаем дочерние классы, которые наследуют все функции и свойства родительского класса. Наследование способствует повторному использованию кода. В этой статье объясняется наследование в Python с примерами.

Как увеличить FPS в Linux?
FPS означает Кадров в секунду. Задача FPS - измерить частоту кадров при воспроизведении видео или во время игры. Проще говоря, количество непрерывных ...
Лучшие игры Oculus App Lab
Если вы владелец гарнитуры Oculus, вы должны знать о загрузке неопубликованных приложений. Боковая загрузка - это процесс установки на гарнитуру содер...
10 лучших игр для Ubuntu
Платформа Windows была одной из доминирующих платформ для игр из-за огромного процента игр, которые разрабатываются сегодня с встроенной поддержкой Wi...