Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

При изучении любого языка нужно решать множество задач, чтобы тренировать свой мозг. Ниже описан (может быть, не совсем правильный) пример простого наследования классов в Python.

Наследование классов в Python если кратко — добавление в класс-потомок методов родительского (базового) класса. Наследование и полиморфизм является одним из основных принципов ООП (объектно-ориентированного программирования). Впрочем, теорию можно всегда почитать на официальных источниках. Без теории никуда, как и без практики, собственно.

Данный простой пример показывает, как один класс может наследовать метод другого класса путём обращения к нему. Всё очень просто и понятно. В задании нужно было реализовать простой пример наследования методов из другого класса: написать один общий класс для всех машин с общими полями, а также несколько классов со специфичными полями, а затем вывести отдельно каждую машину с характеристиками общими (с первого класса) и специфичными (с класса именно данной марки машин).

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

Шаг 1. Сначала нужно создать класс для всех машин с общими полями, прописать метод (для выведения информации о всех машинах и создать экземпляр класса. Выводим информацию общих полей путём обращения к методу класса.

class Avto:                          
    def carAvto(self):
        print(color, kuzov)
color="blue"
kuzov="sedan"
auto=Avto()                          
Avto.carAvto(auto)

Шаг 2. Теперь создаём класс машин Мерседес со специальными полями. Также прописываем метод для выведения нужной информации. Создаём экземпляр класса и выводим информацию о машинах Мерседес путём обращения к методу класса.

class Mersedes:                       
    def carMersedes(self):
        print(nameMers, countMers)  

nameMers="Mersedes"
countMers=15

mers=Mersedes()
Mersedes.carMersedes(mers) 

Шаг 3. Аналогично классу Мерседес прописываем класс для машин Ауди.

         
class Audi:                         
    def carAudi(self):
        print(nameAudi, countAudi)

nameAudi="Audi"
countAudi=22

audi=Audi()
Audi.carAudi(audi)

Шаг 4. Создаём новый класс, который будет иметь общие поля класса Авто и специальные поля класса Мерседес путём обращения к данным классам, создавая при этом обязательно экземпляр класса. Для выведения информации с других классах обращаемся напрямую к их методам.

class Avtomers(Avto, Mersedes):
    pass
carsMers=Avtomers()
print("-----------------")
Avtomers.carAvto(carsMers)           
Avtomers.carMersedes(carsMers)       

Шаг 5. Аналогично прописываем код для выведения общих и специфичных полей для класса Ауди.

class Avtoaudi(Avto, Audi):
    pass
carsAudi=Avtoaudi()
print("-----------------")
Avtoaudi.carAvto(carsAudi)           
Avtoaudi.carAudi(carsAudi)           

В целом, если сложить все куски кода, должен получиться следующий простенький пример:

class Avto:
    def carAvto(self):
        print(color, kuzov)
color="blue"
kuzov="sedan"
auto=Avto()
Avto.carAvto(auto)

class Mersedes:
    def carMersedes(self):
        print(nameMers, countMers)

nameMers="Mersedes"
countMers=15

mers=Mersedes()
Mersedes.carMersedes(mers)

class Audi:
    def carAudi(self):
        print(nameAudi, countAudi)

nameAudi="Audi"
countAudi=22

audi=Audi()
Audi.carAudi(audi)

class Avtomers(Avto, Mersedes):
    pass
carsMers=Avtomers()
print("-----------------")
Avtomers.carAvto(carsMers)
Avtomers.carMersedes(carsMers)

class Avtoaudi(Avto, Audi):
    pass
carsAudi=Avtoaudi()
print("-----------------")
Avtoaudi.carAvto(carsAudi)
Avtoaudi.carAudi(carsAudi)