Buscar

PC2 Lista4

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNESP/FEG/DMA 
Programação de Computadores II - Prof. Senne 
Aula 4 - Exercícios 
Turma 
 
 
 
 
 
1. O que é hierarquia de classes? Qual é a vantagem de construir hierarquias de classe? 
 
2. Por que métodos herdados da superclasse são redefinidos nas subclasses? 
 
3. O que é polimorfismo? Como o polimorfismo se relaciona com hierarquia de classes? Haveria 
polimorfismo se não houvesse hierarquia de classes? 
 
Considere a seguinte hierarquia de classes: 
 
Veiculo 
− double km 
− double preco 
+ Veiculo() 
+ Veiculo(double k, double p) 
+ double getPreco() 
+ void mostrar() 
 
 
Carro Trator 
− int nPortas − double cargaMax 
+ Carro() 
+ Carro(double k, double p, int n) 
+ double getPreco() 
 + Trator() 
+ Trator(double k, double p, double c) 
+ double getPreco() 
 
Para implementar as classes desta hierarquia, considerar os seguintes pontos: 
– Os construtores devem atribuir o valor dos parâmetros (default = 0) aos respectivos campos. 
– O método getPreco() da classe Veiculo deve retornar o valor do campo preco, se o valor do 
campo km for menor que 50000. Caso contrário, deve retornar 90% do valor do campo preco. 
– O método getPreco() da classe Carro deve retornar o valor retornado pelo método getPreco() 
da superclasse, mas acrescido de 15% se o valor do campo nPortas for maior do que 2. 
– O método getPreco() da classe Trator deve retornar o valor retornado pelo método getPreco() 
da superclasse, mas acrescido de 10% se o valor do campo cargaMax for maior do que 1000. 
– O método mostrar() deve imprimir o nome da classe e o valor retornado por getPreco(). 
 
4. Codificar as classes Veiculo, Carro e Trator. 
 
5. Codificar uma classe executável para testar os recursos das 3 classes da hierarquia.

Outros materiais