Criando um sistema de lanchonete
Exercicios de programação orientada a objetos

Criando um sistema de lanchonete

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:  

  1. Utilize qualquer linguagem de programação que suporta Orientação a Objetos (python, C#, Java, C++, etc).
  2. 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])
  3. 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:  

  1. 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. 
  2.  Todos os itens vendidos devem conter: preço de venda, data de validade e peso. 
  3. 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. 
  4. O sistema deve permitir gerar a nota fiscal para entregar ao cliente. 
  5. 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.  

Diagrama de classes - exercício de programação orientada a objetos

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ê!

Vinicius dos Santos

Apenas um apaixonado por Ciência da Computação e forma com que ela pode transformar vidas!

Deixe uma resposta