Cześć, czy jest ktoś mi w stanie powiedzieć co należy poprawić aby kod był zgodny ze wzorcem Kompozyt ? i drugie pytanko czemu nie mogę wyświetlić całej zawartości tablicy ? Chciałbym aby c.WyswietlWartosc wyświetała wartość całej tablicy czy Opis TypProduktu i Opis OpisuProduktu
from abc import ABC, abstractmethod, abstractstaticmethod
class Koszyk(ABC):
@abstractmethod
def Opis(self):
pass
def dodajProdukt(self):
pass
class TypProduktu(Koszyk):
def __init__(self,typ):
self.typ = typ
self.tab = []
def Opis(self):
print(f"Typem produktu jest {self.typ}")
def dodajProdukt(self,Opis_Produktu):
self.tab.append(Opis_Produktu)
class OpisProduktu(Koszyk):
def __init__(self, nazwa, tonaz, kalorie):
self.nazwa = nazwa
self.tonaz = tonaz
self.kalorie = kalorie
def Opis(self):
print(f"Produkt ten nazyw sie:{self.nazwa} jego waga to:{self.tonaz} posiada {self.kalorie} kalorii")
class Opakowanie(Koszyk):
def __init__(self, typOpakowania):
self.typOpakowania = typOpakowania
self.tab = []
def Opis(self):
print(f"Opakowanie jest typu {self.typOpakowania}")
def dodajProdukt(self,GotowyTypProduktu, GotowyOpisProduktu):
self.tab.append([GotowyTypProduktu,GotowyOpisProduktu])
def WyswietlZawartosc(self):
for i in self.tab:
print(i.Opis())
a=TypProduktu('Nabial')
b=OpisProduktu('Mleko','10','5')
a.dodajProdukt(b)
c=Opakowanie('Duze')
c.dodajProdukt(a,b)
c.WyswietlZawartosc()