При изучении любого языка нужно решать множество задач, чтобы тренировать свой мозг. Ниже описан (может быть, не совсем правильный) пример простого наследования классов в 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)