Saudações, estou estudando O.O., escrevi um codigo onde tento descrever o funcionamento de uma lanchonete.
class Produtos:
def __init__(self, nome, preco, data_validade):
self.nome = nome
self._preco = preco
self.data_validade = data_validade
@property
def preco(self):
return self._preco
class Salgados(Produtos):
def __init__(self, nome, preco, sabor, data_validade):
super().__init__(nome, preco, data_validade)
self.sabor = sabor
self.conta_espaco = 0
self.barra = "-"
self.x = 0
def conta_espacos(self):
self.conta_espaco = abs(len(self.nome + self.sabor) - 50)
return self.conta_espaco
def contagem_de_barras(self):
self.x = self.conta_espaco * self.barra
return self.x
def imprime(self):
print (f"{self.nome} de {self.sabor} {self.x} {self.preco}" )
Estou tentando fazer com que os preços dos Salgados fiquem padronizados, um encima do outro:
Ex.:
Coxinha de Frango com Catupiry ------------------- 4.9
Kibe de Carne --------------------------------------------- 4.9
...
coxinha = loja_class.Salgados("Coxinha", 4.90, "Frango com Catupiry", 2)
kibe = loja_class.Salgados("Kibe", 4.90, "Carne", 2)
Mas o valor de self.x e self.conta espaco sempre retornam 0. Talvez seja algo muito simples que não estou vendo, mas eu n sei mais o que fazer.
Muitíssimo obrigado! :D