1) Дан родительский класс:
class Car(object):
brand = 'Mazda'
max_speed = 100
color = 'black'
def __init__(self, b, ms):
self.brand = b
self.max_speed = ms
Нужно создать класс Truck который будет наследоваться от класса Car.
В классе Truck будут дополнительные атрибуты: Количество
прицепов, грузоподъемность. Класс Truck должен принимать
конструктор от родительского класса и вывод будет содержать: марку
грузовика, максимальную скорость, цвет, количество прицепов,
грузоподъемность.
Ответы
class Car(object):
brand = 'Mazda'
max_speed = 100
color = 'black'
def __init__(self, b, ms, c='black'):
self.brand = b
self.max_speed = ms
self.color = c
def __str__(self):
return f'Brand: {self.brand}, Max Speed: {self.max_speed}, Color: {self.color}'
class Truck(Car):
def __init__(self, b, ms, c, trailers, capacity):
super().__init__(b, ms, c)
self.trailers = trailers
self.capacity = capacity
def __str__(self):
return super().__str__() + f', Trailers: {self.trailers}, Capacity: {self.capacity} kg'
Здесь я добавил параметр цвета в конструктор родительского класса Car, чтобы вы могли установить цвет для Truck. Я также добавил метод __str__ в оба класса, чтобы вы могли легко выводить информацию об объектах этих классов.
В классе Truck используется функция super(), чтобы вызвать конструктор родительского класса. Это позволяет нам не дублировать код, который уже реализован в родительском классе. Затем мы добавляем дополнительные атрибуты для класса Truck и расширяем метод __str__, чтобы он включал эти новые атрибуты в вывод.
![](https://files.topotvet.com/i/497/497167199ad185ad4cbb91181ce28f0c.png)