You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Descrição: criar um sistema simples de gerenciamento de uma cafeteira utilizando conceitos fundamentais de programação orientada a objetos: Herança, Polimorfismo e Encapsulamento. O sistema terá classes para representar diferentes tipos de cafés, uma tabela de valores, um sistema de pedidos, e um mecanismo para retirada dos cafés.
Classes e Funcionalidades:
Classe Cafe
A classe base que representa um café. Deve ter os seguintes atributos:
nome: Nome do café.
preco: Preço do café.
Implemente um método str para exibir o nome e preço do café.
2. Classes Derivadas
Cada uma dessas classes deve ter um método construtor que inicializa o nome e preço específicos do café.
3. Classe TabelaDePrecos
Uma classe responsável por armazenar a tabela de preços dos cafés. Deve conter um dicionário onde as chaves são os nomes dos cafés e os valores são os preços correspondentes.
Implemente um método para obter o preço de um café a partir do seu nome.
4. Classe Pedido
Uma classe para representar um pedido de café. Deve ter os seguintes atributos:
cafes: Uma lista de objetos Cafe que compõem o pedido.
total: O custo total do pedido.
Implemente métodos para adicionar cafés ao pedido e calcular o custo total.
5. Classe Retirada
Uma classe para representar a retirada de cafés. Deve ter um método que recebe um objeto Pedido e exibe uma mensagem indicando que o pedido foi retirado.
Exemplo de Uso:
# Criar cafés
expresso = CafeExpresso()
cappuccino = CafeCappuccino()
latte = CafeLatte()
# Criar tabela de preços
tabela_precos = TabelaDePrecos()
tabela_precos.adicionar_cafe(expresso)
tabela_precos.adicionar_cafe(cappuccino)
tabela_precos.adicionar_cafe(latte)
# Criar um pedido
pedido = Pedido()
pedido.adicionar_cafe(expresso)
pedido.adicionar_cafe(cappuccino)
# Calcular e exibir o total do pedido
pedido.calcular_total(tabela_precos)
print(f"Total do Pedido: R$ {pedido.total:.2f}")
# Retirar o pedido
retirada = Retirada()
retirada.retirar_pedido(pedido)
Objetivos do Exercício:
**Herança:** Garanta que as classes CafeExpresso, CafeCappuccino, e CafeLatte herdem da classe base Cafe.
**Encapsulamento:** Mantenha os atributos das classes encapsulados, permitindo o acesso apenas por meio de métodos apropriados.
**Polimorfismo:** Utilize polimorfismo ao trabalhar com objetos do tipo Cafe no pedido, sem se preocupar com a classe específica de cada café.
The text was updated successfully, but these errors were encountered:
Descrição: criar um sistema simples de gerenciamento de uma cafeteira utilizando conceitos fundamentais de programação orientada a objetos: Herança, Polimorfismo e Encapsulamento. O sistema terá classes para representar diferentes tipos de cafés, uma tabela de valores, um sistema de pedidos, e um mecanismo para retirada dos cafés.
Classes e Funcionalidades:
A classe base que representa um café. Deve ter os seguintes atributos:
Implemente um método str para exibir o nome e preço do café.
2. Classes Derivadas
Crie três classes que herdam da classe Cafe:
Cada uma dessas classes deve ter um método construtor que inicializa o nome e preço específicos do café.
3. Classe TabelaDePrecos
Uma classe responsável por armazenar a tabela de preços dos cafés. Deve conter um dicionário onde as chaves são os nomes dos cafés e os valores são os preços correspondentes.
Implemente um método para obter o preço de um café a partir do seu nome.
4. Classe Pedido
Uma classe para representar um pedido de café. Deve ter os seguintes atributos:
Implemente métodos para adicionar cafés ao pedido e calcular o custo total.
5. Classe Retirada
Uma classe para representar a retirada de cafés. Deve ter um método que recebe um objeto Pedido e exibe uma mensagem indicando que o pedido foi retirado.
Exemplo de Uso:
Objetivos do Exercício:
The text was updated successfully, but these errors were encountered: