Пример наследования и конструктора в подклассе:
Давайте рассмотрим сценарий, в котором у нас есть базовый класс под названием «Транспортное средство» и подкласс под названием «Автомобиль». Класс Car наследует класс Vehicle и добавляет некоторые дополнительные атрибуты и методы, специфичные для автомобилей.
class Vehicle:
def __init__(self, brand, model):
self.brand = brand
self.model = model
def start(self):
print("The vehicle has started.")
def stop(self):
print("The vehicle has stopped.")
class Car(Vehicle):
def __init__(self, brand, model, color):
super().__init__(brand, model)
self.color = color
def accelerate(self):
print("The car is accelerating.")
def brake(self):
print("The car is braking.")
В этом примере класс Vehicle
является базовым и имеет метод конструктора __init__
для инициализации атрибутов бренда и модели. Он также имеет методы start()
и stop()
.
Класс Car
является подклассом Vehicle
и расширяет его путем добавления атрибута цвета. У него есть собственный метод-конструктор __init__
, который вызывает конструктор родительского класса с помощью super()
. Это позволяет классу Car наследовать атрибуты марки и модели от класса Vehicle. Класс Car также имеет дополнительные методы, такие как accelerate()
и brake()
.
Дополнительные методы.
Вот несколько дополнительных методов, которые вы можете включить в класс Car или добавить в класс Vehicle:
get_brand()
– возвращает марку автомобиля.get_model()
– возвращает модель автомобиля.set_color(color)
– устанавливает цвет автомобиля.get_color()
– Возвращает цвет автомобиля.turn_left()
– имитирует поворот автомобиля налево.turn_right()
– имитирует поворот автомобиля направо.get_speed()
— возвращает текущую скорость автомобиля.park()
– имитирует припаркованную машину.get_license_plate()
– возвращает номерной знак автомобиля.