Сложение двух Классов
кто то может подсказать, я так понимаю, нужно использовать метод add_ для слияние двух классов, вот и задача состоит в том, что, получается "AirCar" Скорость и Длина которого будут равны среднему между атрибутами Car и Plane которые я сложил. вот, что мой код.
class Car:
average_speed = 60
average_lenght = 5
cars = []
def __init__(self, model, speed=average_speed, length=average_lenght):
self.model = model
self.speed = speed
self.length = length
class AirPlane(Car):
average_speed = 300
average_lenght = 10
Plane = []
def magic(self):
super(Car, self).__init__()
class AirCar(Car, AirPlane):
def __add__(self, other):
if self.cars:
self.average_speed = sum([car.speed for car in self.cars]) / len(self.cars)
self.average_lenght = sum([AirPlane.lenght for AirPlane in self.Plane]) / len(self.Plane)
self.Aircar.append(self)
Ответы (1 шт):
Автор решения: Andrew Holovko
→ Ссылка
Я немного упростил ваш пример, надеюсь суть вы поймёте. В нём я показываю Вам как создавать объекты из классов, а после передавать их в класс. Можно конечно делать валидацию на класс, я сделал на атрибут.
class Car:
average_speed = 17
class AirPlane:
average_speed = 600
class AirCar:
total_speed: int
def __init__(self, *args):
self._add(*args)
print(self.total_speed)
def _add(self, *args):
self.total_speed = sum([cls.average_speed for cls in args if hasattr(cls, 'average_speed')]) / len(args)
car = Car()
plain = AirPlane()
c = AirCar(car,plain)
# 308.5