Proszę o pomoc z zadaniem o Dziedziczeniu klas i przetwarzaniu obiektów

0

Stwórz klasę, która dziedziczy z klasy Food (klasa Food już istnieje) i nazywa się Potato. Niech jej konstruktor ma jeden dodatkowy argument - dowolnie nazwany (oprócz standardowego self), który będzie potem zapisywany w kaloriach klasy (self.calories), a dźwięk jedzenia to będzie "Mpfpfpf" (musisz ten dźwięk nadpisać - self.eating_sound). Niech klasa ma też dodatkową metodę (o nazwie eat, pamiętaj też o argumencie self), zwracającą ilość (za pomocą return) kalorii. Pamiętaj! Każda funkcja tworzona w klasie musi mieć argument self.
**
Początek kodu: **
class Food:
def init(self):
self.calories = 0
self.mass = 0
self.eating_sound = "Omnomnom"
def show(self):
print(self.eating_sound)

Tam gdzie jest "init" powinny być po dwa podkreśliniki ("podłogi") z przodu i z tyłu.

Uczę się dopiero i tylko dopisałem do tego taki kod, ale prawdopodobnie cały jest zły:
class Potato(Food):
def init(self, kalorie):
kalorie.ziemniak = self.calories
self.eating_sound = "Mpfpfpf"
self.eat = return calories_potato
def show(self):
print(kalorie.ziemniak, self.eating_sound, self.eat)

1

Coś co, imo, jest zgodne z opisem:

class Food:
    def __init__(self):
        self.calories = 0
        self.mass = 0
        self.eating_sound = "Mniam"
    def show(self):
        print(self.eating_sound)

class Potato(Food):
    def __init__(self, kalorie):
        self.calories = kalorie
        self.eating_sound = "Mniom"
    def eat(self):
        return self.calories
    def show(self):
        print(self.eat(),self.eating_sound)


Patat = Potato(90)
Patat.show()

Jak widać to:

self.eat = return calories_potato

nie jest prawidłowym sposobem definiowania funkcji w Pythonie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1