python как инициировать значение в подклассе? - PullRequest
0 голосов
/ 03 марта 2020

У меня есть следующий код:

class Vehicle:
    def __init__(self, name=None, color='Red', make='Toyota'):
        self._name = name 
        self._color = color
        self._make = make

    @property
    def name(self):
        if self._name is None:
            return 'name is none'
        return self._name

    @name.setter
    def name(self, value):
        self._name=value   

    def getColor(self):
        return self._color

    def getMake(self):
        return self._make    

class Car(Vehicle):
    def __init__(self, mode='Running', *args, **kwargs):
        super().__init__(self,  *args, **kwargs)
        self._mode=mode

    def getMode(self):
        return self._mode

Я хочу инициализировать название автомобиля, однако ни одно из следующих действий не работает. Есть ли простой способ сделать это?

mycar=Car('Corolla')
mycar=Car(name='Corolla')

1 Ответ

5 голосов
/ 03 марта 2020

Не передавайте self в super ограничение __init__

class Car(Vehicle):
    def __init__(self, mode='Running', *args, **kwargs):
        super().__init__(*args, **kwargs)
...