Меню
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON PHP КАК
     ❯   

Python Учебник


Обработка файлов


Python Модули


Python Matplotlib


Machine Learning


Python MySQL


Python MongoDB


Python Reference


Module Reference


Python How To


Python Examples



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



Python Наследовать класс

Наследование позволяет нам определить класс, который наследует все методы и свойства другого класса

Родительский класс это наследуемый класс, также называемый базовым классом.

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


Python Создать родительский класс

Любой класс может быть родительским классом, поэтому синтаксис аналогичен созданию любого другого класса:

Создайте класс с именем Person, со свойствами firstname и lastname и методом, printname:

class Person:
  def __init__(self, fname, lname):
    self.firstname = fname
    self.lastname = lname

  def printname(self):
    print(self.firstname, self.lastname)

#Используйте класс Person для создания объекта, а затем выполните метод printname:

x = Person("Щипунов", "Андрей")
x.printname()
Попробуйте сами »

Python Создать дочерний класс

Чтобы создать класс, наследующий функциональность от другого класса, отправьте родительский класс в качестве параметра при создании дочернего класса:

Создайте класс Student, который унаследует свойства и методы класса Person:

class Student(Person):
  pass

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

Теперь класс Student имеет те же свойства и методы, что и класс Person.

Используйте класс Student для создания объекта, а затем выполните метод printname:

x = Student("Щипунова", "Татьяна")
x.printname()
Попробуйте сами »


Python Добавьте функцию __init__()

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

Мы хотим добавить функцию __init__() в дочерний класс (вместо ключевого слова pass).

Примечание: Функция __init__() вызывается автоматически каждый раз, когда класс используется для создания нового объекта.

Добавьте функцию __init__() в класс Student:

class Student(Person):
  def __init__(self, fname, lname):
    #добавление свойств и т.д.

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

Примечание: Дочерняя функция __init__() переопределяет наследование родительской функции __init__().

Чтобы сохранить наследование родительской функции __init__(), добавьте вызов родительской функции __init__():

class Student(Person):
  def __init__(self, fname, lname):
    Person.__init__(self, fname, lname)
Попробуйте сами »

Теперь мы успешно добавили функцию __init__() и сохранили наследование родительского класса, и мы готовы добавить функциональность в функцию __init__().


Python Используйте функцию super()

Python также имеет функцию super() которая заставляет дочерний класс наследовать все методы и свойства своего родителя:

class Student(Person):
  def __init__(self, fname, lname):
    super().__init__(fname, lname)
Попробуйте сами »

При использовании функции super() вам не нужно использовать имя родительского элемента, он автоматически унаследует методы и свойства от своего родителя.


Python Добавить свойства

Добавьте в класс Student свойство под названием graduationyear

class Student(Person):
  def __init__(self, fname, lname):
    super().__init__(fname, lname)
    self.graduationyear = 2019
Попробуйте сами »

В приведенном ниже примере 2019 год должен быть переменной и передаваться в класс Student при создании объектов Student. Для этого добавьте еще один параметр в функцию __init__():

Добавьте параметр year и укажите правильный год при создании объектов:

class Student(Person):
  def __init__(self, fname, lname, year):
    super().__init__(fname, lname)
    self.graduationyear = year

x = Student("Щипунова", "Татьяна", 2019)
Попробуйте сами »

Python Добавить методы

Добавьте метод welcome в класс Student:

class Student(Person):
  def __init__(self, fname, lname, year):
    super().__init__(fname, lname)
    self.graduationyear = year

  def welcome(self):
    print("Добро пожаловать", self.firstname, self.lastname, "в класс", self.graduationyear)
Попробуйте сами »

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


Python Проверьте себя с упражнениями наследовать

Python Упражнение наследовать:

Каков правильный синтаксис для создания класса Student, который будет наследовать свойства и методы класса Person?

class :



×

Связаться с отделом продаж

Если вы хотите использовать услуги schoolsw3 как образовательное учреждение, команда или предприятие, отправьте нам электронное письмо:
sales@schoolsw3.com

Сообщить об ошибке

Если вы хотите сообщить об ошибке или внести предложение, отправьте нам электронное письмо:
help@schoolsw3.com

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

Авторское право 1999- © Copyright. Все права защищены. Schoolsw3 работает на SW3.CSS.