O principal conceito da programação orientada a objetos é que todo programa é uma coleção de objetos que se relacionam e apresentam comportamentos e atributos únicos.
Uma empresa contratou você para desenvolver um programa simples em uma linguagem orientada a objetos. O escopo desse programa é controlar os pedidos feitos em uma lanchonete. A seguir, no Desafio, veja como os pedidos são feitos atualmente e como eles deverão ser realizados após o d esenvolvimento do programa:
Com base nos requisitos que você viu, elabore uma descrição das possíveis classes, métodos e atributos que seu programa deve apresentar para contemplar o escopo desse cenário. Agora, os atributos e os métodos não precisam ser definidos, apenas identificados.
1. Classe Pedido
1.1. Atributos: numeroPedido, quantidadeItem
1.2. Métodos: fazerPedido()
2. Classe Item
2.1. Atributos: codigo, valor
3. Classe Atendente
3.1. Atributos: nome, metaDiaria
3.2. Métodos: ajustarMetaDiaria()
4. Classe Cliente
4.1. Atributos: nome, CPF
4.2. Métodos: avaliarPedido()
Respostas
Resposta:
a) O Java é uma linguagem precursora do paradigma de orientação a objetos, o qual considera entidades do mundo real objetos que se relacionam com os demais e apresentam atributos e métodos, sendo o seu conceito de desenvolvimento de códigos. A diferença entre os paradigmas é que o pensamento em linguagens orientada a objetos exige que o programador pense mais na construção e na reutilização de códigos.
b) Linguagens estruturadas como o Visual Basic 5.0 e o Delphi 6.0 trabalhavam com código repetido entre diversas telas do sistema, uma vez que o paradigma estruturado era orientado a eventos de ação de tela, diferente de objetos
Explicação:
Resposta:
O programa seria composto basicamente por quatro classes, sendo a principal a classe "Pedido", mas, além dela, há as classes "Atendente", "Cliente" e "Item", as quais teriam os seguintes atributos e métodos:
1. Classe Pedido
1.1. Atributos: numeroPedido, quantidadeItem
1.2. Métodos: fazerPedido()
2. Classe Item
2.1. Atributos: codigo, valor
3. Classe Atendente
3.1. Atributos: nome, metaDiaria
3.2. Métodos: ajustarMetaDiaria()
4. Classe Cliente
4.1. Atributos: nome, CPF
4.2. Métodos: avaliarPedido()
Explicação: