Você está na página 1de 1

Programação Orientada a Objetos

Compreensão dos conceitos de Herança

Numa dada loja toda a fruta vendida tem um nome e um preço base. A loja vende a fruta em três
modalidades: à unidade, ao peso e ao volume. O preço total é obtido pela multiplicação do preço
base, pelo número de unidades, pelo peso ou pelo volume.

Considere que se pretende criar a seguinte hierarquia de classes e que:


• Toda a fruta tem um nome e um preço, sendo que o preço pode variar.
• O que caracteriza a fruta à unidade é a quantidade (um nº inteiro).
• O que caracteriza a fruta a peso é o peso (um nº real).
• O que caracteriza a fruta ao volume é o volume (um nº real).

1. Escreva o código das classes representadas na figura. Cada subclasse deverá implementar,
para além dos métodos usuais, um método double aPagar() que determina o preço da fruta
comprada e que depende do tipo particular de fruta e o métódo toString().

2. Pretende-se criar uma classe Cabaz, que representa as várais frutas que foram compradas e
que deve implementar os métodos seguintes:
• Inserir no cabaz uam compra de um determinado tipo de fruta.
• Calcular o valor total da fruta comprada;
• Determinar o nº de frutos de um dado tipo que foi comprado.
• Determinar o valor total gasto para um dado tipo de fruta.

Escreva o código da classe Cabaz, usando um ArrayList de Fruta para representar o cabaz.
Redesenhe o diagrama de classes incluindo a classe Cabaz.

3. Crie, por último, a classe Teste, para criar o cabazDePrimavera com os seguintes tipos de fruta
e que imprime o valor total da fruta comprada, o nº de frutos do tipo “FrutaPeso” e o valor total
gasto em frutos do tipo “FrutaUnidade”.

Nome Preço À unidade Ao peso Ao Volume


Papaia 3 4
Banana 1.5 2
Coco 3 2
Laranja 1 3
Meloa 1.6 2

4. Redesenhe o diagrama de classes incluindo a classe Teste.


5. Considere que se pretende criar diferentes tipos de cabazes. Escreva as alterações necessárias
a fazer ao programa criado para poder:
• Registar cabazes (cada cabaz tem um nome e um dado nº de frutos).
• Imprimir os detalhes dos frutos de um dado cabaz.
• Calcular o valor total da fruta comprada, de todos os cabazes.

Você também pode gostar