@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.