S04 - Tarefa: Programa de Pedido Online
Visão Geral
O segundo princípio da Programação com Classes é o Encapsulamento. Para esta tarefa, você escreverá um programa que demonstra seu conhecimento sobre encapsulamento.
Cenário
Suponha que você foi contratado para ajudar uma empresa com seu sistema de pedidos de produtos. Eles vendem muitos produtos online para uma variedade de clientes e precisam produzir etiquetas de embalagem, etiquetas de envio e calcular preços finais para o faturamento.
Especificação do Programa
Escreva um programa que tenha classes para Produto, Cliente, Endereco e
Pedido. As responsabilidades dessas classes são as seguintes:
Pedido
- Contém uma lista de produtos e um cliente. Pode calcular o custo total do pedido. Pode retornar uma string para a etiqueta de embalagem. Pode retornar uma string para a etiqueta de envio.
- O preço total é calculado como a soma do custo total de cada produto mais um custo único de envio.
- A empresa está sediada nos EUA. Se o cliente mora nos EUA, o custo de envio é de $ 5. Se o cliente não mora nos EUA, o custo de envio é de $ 35.
- Uma etiqueta de embalagem deve listar o nome e a identificação de cada produto no pedido.
- Uma etiqueta de envio deve listar o nome e o endereço do cliente
Produto
- Contém o nome, ID do produto, preço e quantidade de cada produto.
- O custo total do produto é calculado multiplicando o preço por unidade pela quantidade. (Se o preço por unidade fosse $ 3 e comprassem 5 unidades, o custo total do produto seria $ 15.)
Cliente
- O cliente tem um nome e um endereço.
- O nome é uma string, mas o Endereço é uma classe.
- O cliente deve ter um método que possa retornar se ele mora nos EUA ou não. (Dica: isso deve chamar um método na classe Endereco.)
Endereço
- O endereço contém uma string para o endereço da rua, a cidade, o estado e o país.
- O endereço deve ter um método que possa retornar se é nos EUA ou não.
- O endereço deve ter um método para retornar uma string com todos os seus campos juntos em uma string (com caracteres de nova linha quando apropriado)
Outras considerações
Certifique-se de que todas as variáveis membro sejam privadas e que getters, setters e construtores sejam criados conforme necessário.
Depois de criar essas classes, desenvolva um programa que crie pelo menos dois pedidos com 2 a 3 produtos cada. Chame os métodos para obter a etiqueta de embalagem, a etiqueta de envio e o preço total do pedido e exiba os resultados desses métodos.
Interação do Usuário
O foco dos Programas de Fundamentos é ajudar você a criar e construir classes e trabalhar com os relacionamentos entre essas classes. Com isso em mente, você não precisa criar um sistema de menu ou uma interface de usuário. Em vez disso, seu arquivo Program.cs deve criar os objetos necessários, definir seus valores e exibi-los conforme especificado, sem qualquer interação do usuário.
Demonstre Criatividade
Como o objetivo desses Programas de Fundamentos é ajudar você a praticar os princípios do curso de uma forma muito direta, não se espera que você demonstre criatividade e supere os requisitos básicos como fez em projetos anteriores. Você pode ganhar 100% concluindo os requisitos conforme especificado.
Desenvolver o Programa
No repositório do curso, encontre o projeto PedidosOnline na pasta semana04 e escreva
seu programa lá.
Instruções de Envio
Como este projeto não tem nenhuma interação do usuário, para envio, você incluirá uma captura de tela da execução do seu programa no seu repositório do GitHub junto com o código correspondente. (Para obter instruções detalhadas sobre como fazer uma captura de tela, consulte as instruções descritas em: Captura de Tela.)
Depois de adicionar sua captura de tela ao seu repositório do GitHub, volte ao Canvas para enviar um link para seu repositório do GitHub.