Está procurando um bons exercícios sobre programação orientada a objetos? Você acaba de encontrar! Aqui você vai praticar a construção de um sistema completo usando qualquer linguagem de programação que você quiser (que suporte POO).
Quer saber mais sobre Programação Orientada a Objetos? Acesse nosso curso de POO com Java.
Regras dos exercício
Os exercícios de programação orientada a objetos são desenvolvidos com o objetivo de praticar a aplicação dos conceitos de Programação orientada a Objetos. Para resolver esse exercício você precisará aplicar os conceitos aprendidos (atributos e métodos, encapsulamento, polimorfismo, herança). Algumas regras básicas para melhorar sua performance:
- Utilize qualquer linguagem de programação que suporta Orientação a Objetos (python, C#, Java, C++, etc).
- As resoluções estarão disponíveis em algumas linguagens, caso você resolva esse exercício em uma linguagem diferente envie para nós! ([email protected])
- Busque a solução mais eficiente, porém, tente focar em aplicar os conceitos de orientação a objetos.
Coleta de requisitos
A lanchonete “Quase Três Lanches” está em fase de crescimento em seu delivery e atendimento e pretende expandir seu funcionamento. Porém, os donos sempre operaram utilizando planilhas do Excel e ferramentas bastante simples, sendo assim, nenhum sistema personalizado foi criado e você pretende automatizar o trabalho desse estabelecimento. Na entrevista com os donos do estabelecimento você começou a questioná-los sobre o funcionamento do estabelecimento. Alguns detalhes foram surgindo durante a conversa:
- A lanchonete possui 3 principais itens de venda: pizzas, lanches e salgadinhos. Inicialmente, o sistema será testado para controlar as vendas desses 3 itens apenas.
- Todos os itens vendidos devem conter: preço de venda, data de validade e peso.
- O sistema da nossa lanchonete deverá criar um pedido, esse pedido será composto pelo nome do cliente, itens que foram consumidos e taxa de serviço.
- O sistema deve permitir gerar a nota fiscal para entregar ao cliente.
- O vendedor poderá inserir o valor recebido em dinheiro e o sistema calcula e mostra o troco do cliente na tela.
Para o seu cliente, é imprescindivel que o sistema tenha algumas funções. O dono descreveu essas funções dizendo: “Gostaríamos de oferecer em nosso cardápio virtual, pizzas com diferentes recheios bordas e molhos. Também queremos oferecer opções para o cliente escolher qual o tipo de recheio, bordas recheadas ou não e o molho que vai ser usado.” “Os pedidos de lanches precisam conter algumas informações essenciais, são elas: tipo do pão, recheio e molhos obrigatoriamente.” “Os salgadinhos possuem grande saída, queremos controlar sua venda. Gostariamos que os pedidos contivessem: o tipo (frito ou assado), massa e recheio.”
Diagrama de classes
O sistema da lanchonete foi modelado por um de seus funcionários analistas de sistemas. O conhecimento desse analista é limitado e ainda está em treinamento, portanto, cabe a você verificar se a solução apresentada cumpre todas os requisitos do cliente.
Não sabe o que é um diagrama de classes? veja aqui uma explicação
Agora é sua vez… você precisa descobrir qual a melhor forma de configurar a herança nesse caso e construir um código que realize todas as funcionalidades descritas.
Respostas
Estes exercícios foram resolvidos para que você possa comparar sua implementação com a nossa. Fique atento, visto que existem várias formas de resolver o mesmo exercício. Isso significa que mesmo que sua solução não esteja idêntica a nossa, ela pode estar correta também. Se você encontrou soluções mais elegantes ou então usando outras linguagens de programação, envie pra nós e vamos inseri-las aqui deixando os créditos pra você!
Muito bom a solução.