python наследование алмазов с аргументами - PullRequest
0 голосов
/ 26 марта 2020

Я новичок в python, и я столкнулся с этой проблемой, пытался найти ее в Google, но не смог найти ответ.

, поэтому мои занятия выглядят так:

   Animal
   |    |
   Cat  Pet
    \   /
     home

И проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, как передать аргументы, чтобы в HomeCat были также все поля Cat, Animal и Pet. насколько я понимаю, он должен вызывать HomeCat -> Cat -> Pet> Animal Мой код:

class Animal:
    def __init__(self, dateOfBirth, animalType, name, numOfLegs):
        self.dateOfBirth = dateOfBirth
        self.animalType = animalType
        self.name = name
        self.numOfLegs = numOfLegs

    def __str__(self):
        return 'Birth : {} Type:{} name:{} numOfLeGS:{} '


class Pet(Animal):
    def __init__(self, dateOfBirth, animalType, name, numOfLegs, lastVetCheck):
        Animal.__init__(self, dateOfBirth, animalType, name, numOfLegs)
        self.lastVetCheck = lastVetCheck

    def __str__(self):
        return Animal.__str__(self) + ' Last vet check:{} '.format(self.lastVetCheck)


class Cats(Animal):
    def __init__(self, dateOfBirth, animalType, name, numOfLegs, mustache):
        Animal.__init__(self, dateOfBirth, animalType, name, numOfLegs)
        self.mustache = mustache

    def __str__(self):
        return Animal.__str__(self) + ' mustache length:{} '.format(self.mustache)


class HomeCat(Cats, Pet):
    def __init__(self, dateOfBirth, animalType, name, numOfLegs, lastVetCheck, mustache):
        super().__init__(dateOfBirth, animalType, name, numOfLegs, lastVetCheck, mustache)

    def __str__(self):
        return Animal.__str__(self) + Cats.__str__(self) + 'Last vet check: {}'.format(self.lastVetCheck)


c = HomeCat("1995", "Cat", "Omri", "4", "26/2/2022", 5)
print(c)
...