Oi, Gabriel! Tudo bem?
Parabéns pela elaboração do projeto! Deixo como sugestão apenas usar na classe Restaurante
o self
para os atributos ativo
, fundacao
e estado
, o que é necessário para que eles sejam associados à instância do objeto, da seguinte forma:
class Restaurante():
def __init__(self, nome, categoria):
self.nome = nome
self.categoria = categoria
self.ativo = False
self.fundacao = ''
self.estado = ''
def __str__(self):
return f'{self.nome} | {self.categoria}'
restaurante_Pizza_Place = Restaurante('Pizza Place', 'Italiana')
print(restaurante_Pizza_Place)
Somao a isso na classe Cliente
o método listar_clientes
deve receber o parâmetro self
se for um método de instância, ou pode ser declarado como @staticmethod
se não precisar acessar atributos de instância, de acordo com o exemplo abaixo:
class Cliente():
clientes = []
def __init__(self, nome, telefone, email, endereco):
self.nome = nome
self.telefone = telefone
self.email = email
self.endereco = endereco
Cliente.clientes.append(self)
@staticmethod
def listar_clientes():
for cliente in Cliente.clientes:
print(f'{cliente.nome} | {cliente.telefone} | {cliente.email} | {cliente.endereco}')
cliente_jose = Cliente('José', '31998663244', 'josecliente@gmail.com', 'numero: 155 rua: dos sonhos, bairro: minerais, Belo Horizonte')
Cliente.listar_clientes()
Espero ter ajudado!
Um forte abraço e bons estudos!