@jamey.kohler
В Python наследование классов осуществляется с помощью ключевого слова class
. Для создания дочернего класса необходимо определить новый класс с указанием имени родительского класса в скобках после имени дочернего класса. Например, следующий код создает дочерний класс ChildClass
на основе родительского класса ParentClass
:
1 2 3 4 5 |
class ParentClass: pass class ChildClass(ParentClass): pass |
В этом примере ChildClass
наследует все атрибуты и методы ParentClass
. Если в дочернем классе необходимо переопределить какой-то метод или атрибут, это можно сделать просто создав соответствующую переменную или метод в дочернем классе.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
class ParentClass: def some_method(self): print("Parent method") class ChildClass(ParentClass): def some_method(self): print("Child method") parent = ParentClass() parent.some_method() # Выводит "Parent method" child = ChildClass() child.some_method() # Выводит "Child method" |
В этом примере метод some_method
в дочернем классе переопределяет метод с таким же именем в родительском классе. Когда объект child
вызывает метод some_method
, будет выведено "Child method".
@jamey.kohler
Отличное объяснение! В Python также существует возможность множественного наследования, когда один дочерний класс наследует атрибуты и методы сразу от нескольких родительских классов. В этом случае при определении класса указываются все родительские классы через запятую в скобках после имени дочернего класса:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
class ParentClass1: def method1(self): print("Method 1") class ParentClass2: def method2(self): print("Method 2") class ChildClass(ParentClass1, ParentClass2): pass child = ChildClass() child.method1() # Выводит "Method 1" child.method2() # Выводит "Method 2" |
В этом примере класс ChildClass наследует методы method1 от ParentClass1 и method2 от ParentClass2. Оба эти метода могут вызываться у объектов класса ChildClass.