1
resposta

Hora da prática: métodos especiais e atributos

# 1. Implementação da classe Carro
class Carro:
    def __init__(self, modelo, cor, ano):
        self.modelo = modelo
        self.cor = cor
        self.ano = ano

# Instanciando um carro e atribuindo valores aos seus atributos
carro1 = Carro('Fiat Palio', 'Azul', 2010)


# 2. Implementação da classe Restaurante
class Restaurante:
    def __init__(self, nome, categoria, ativo=True, capacidade=50, endereco=''):
        self.nome = nome
        self.categoria = categoria
        self.ativo = ativo
        self.capacidade = capacidade
        self.endereco = endereco

# Instanciando um restaurante e atribuindo valores aos seus atributos
restaurante1 = Restaurante('Pizzaria Bella Napoli', 'Italiana', True, 80, 'Rua Principal, 123')


# 3. Modificação da classe Restaurante adicionando um construtor
# com nome e categoria como parâmetros e ativo como False por padrão
class Restaurante:
    def __init__(self, nome, categoria, ativo=False, capacidade=50, endereco=''):
        self.nome = nome
        self.categoria = categoria
        self.ativo = ativo
        self.capacidade = capacidade
        self.endereco = endereco

# Instanciando um restaurante utilizando o construtor
restaurante2 = Restaurante('Sabor & Arte', 'Brasileira')


# 4. Adicionando um método especial __str__ à classe Restaurante
# para exibir uma mensagem formatada com o nome e a categoria
class Restaurante:
    def __init__(self, nome, categoria, ativo=False, capacidade=50, endereco=''):
        self.nome = nome
        self.categoria = categoria
        self.ativo = ativo
        self.capacidade = capacidade
        self.endereco = endereco

    def __str__(self):
        return f"Restaurante: {self.nome}, Categoria: {self.categoria}"

# Exibindo uma mensagem formatada para uma instância de restaurante
restaurante3 = Restaurante('La Trattoria', 'Italiana')
print(restaurante3)


# 5. Implementação da classe Cliente
class Cliente:
    def __init__(self, nome, idade, email, telefone):
        self.nome = nome
        self.idade = idade
        self.email = email
        self.telefone = telefone

# Instanciando objetos da classe Cliente e atribuindo valores aos seus atributos
cliente1 = Cliente('João', 30, 'joao@email.com', '(11) 99999-9999')
cliente2 = Cliente('Maria', 25, 'maria@email.com', '(11) 88888-8888')
cliente3 = Cliente('Pedro', 35, 'pedro@email.com', '(11) 77777-7777')
1 resposta

Oii Anderson, tudo bem?

A implementação da classe Restaurante com os métodos especiais e atributos está muito bem feita! E no geral, o código está bem estruturado e segue os princípios da programação orientada a objetos em Python. Parabéns pelo excelente trabalho!

Um abraço e bons estudos.