каковы основы наследования в ооп какие типы существуют и какие примеры кода можно привести

Аватар пользователя Ivan Mamtsev
Ivan Mamtsev
30 ноября 2024

Наследование — это один из ключевых принципов ООП, который позволяет создавать новые классы на основе существующих. Класс, от которого происходит наследование называется родительским или базовым классом. А класс, который наследует свойства и методы, называется дочерним или производным классом.

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

class Animal:
    def speak(self):
        pass

class Dog(Animal):
    def speak(self):
        print("Woof!")

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

class Bird:
    def speak(self):
        pass

class Parrot(Bird):
    def speak(self):
        print("Polly wants a cracker!")

class Crow(Bird):
    def speak(self):
        print("Caw caw!")

def make_bird_speak(bird):
    bird.speak()

parrot = Parrot()
crow = Crow()

make_bird_speak(parrot)  # => "Polly wants a cracker!"
make_bird_speak(crow)    # => "Caw caw!"

Множественное наследование это возможность наследования от нескольких классов. В том же Python используется порядок разрешения методов MRO (Method Resolution Order), чтобы определить, какой метод вызывается при множественном наследовании.

class A:
    def do_something(self):
        print("Method of class A")

class B:
    def do_something(self):
        print("Method of class B")

class C(A, B):
    pass

obj = C()
obj.do_something()  # => "Method of class A"

В данном случае метод do_something() наследуется от класса A, так как он находится первым в списке родительских классов.

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

0 0
Пройдите курс по программированию бесплатно