Pular para o conteúdo

Diretoria de Ensino da Marinha · Marinha do Brasil 2013

Questão 22 — Programação Orientada a Objetos: Herança e Polimorfismo

Programação Orientada a Objetos Herança e Polimorfismo

Diretoria de Ensino da Marinha 2013 Superior

Marinha do Brasil · Professor do Magistério Superior — Tecnologia da Informação · Caderno Amarela

Gabarito disponível

Analise o código em JAVA abaixo.
public class Bicycle {
public static void main(String[] args) {
Bike b = new Bike(0,0,0);
MountainBike mb = new MountainBike (0,0,0,0);
}
public static class Bike {
public int cadencia;
public int marcha;
public int veloc;
public Bike (int cadencia_inic, int veloc_inic, int marcha_inic) {
marcha = marcha_inic;
cadencia = cadencia_inic;
veloc = veloc_inic;
}
public void mudar_cadencia(int n) {
cadencia = n;
}
public void mudar_marcha(int n) {
marcha = n;
}
public void frear(int decrement) {
veloc -= decrement;
}
public void acelerar(int increment) {
veloc += increment;
}
}
public static class MountainBike extends Bike {
public int altura_do_banco;
public MountainBike(int altura_inic, int cadencia_inic,
int veloc_inic, int marcha_inic) {
super(cadencia_inic, veloc_inic, marcha_inic);
altura_do_banco = altura_inic;
}
public void alterar_altura_do_banco(int n) {
altura_do_banco = n;
}
public void acelerar(int increment) {
veloc += increment + 1;
}
}
}

Em relação ao código acima, considerando que polimorfismo e herança são aspectos importantes no paradigma de Orientação a Objeto, é correto afirmar que:
Selecione uma alternativa

Resolução comentada

'b' é Bike e não possui o atributo altura_do_banco.

A classe MountainBike herda de Bike e acrescenta altura_do_banco e alterar_altura_do_banco. O objeto 'b' é uma Bike pura e não possui esse atributo nem o método, então sua altura do banco não pode ser alterada.

Análise das alternativas

E está errada pelo mesmo motivo. A está errada porque 'mb' é MountainBike e pode alterar a altura. B está errada porque há polimorfismo, já que acelerar é sobrescrito. D está errada porque há herança (extends).

Referência: Herança e polimorfismo em Java.

Resolução comentada do VaiConcursos.

Ver gabarito

Gabarito: C

Fonte: Gabarito preliminar: Gabarito CP-PMS/2013 — página 11