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