- Paradigmas de ProgramaçãoOrientação a ObjetosAnálise e Projeto Orientado a Objetos
- Paradigmas de ProgramaçãoOrientação a ObjetosOrientação a Objetos: Abstração
- Paradigmas de ProgramaçãoOrientação a ObjetosOrientação a Objetos: Classes e Objetos
- Paradigmas de ProgramaçãoOrientação a ObjetosOrientação a Objetos: Herança
Analise o seguinte código, escrito em uma linguagem de programação orientada a objetos:
class Alimento {
double calcularValorEnergetico() { return 0; }
}
class Doce extends Alimento {
double porcentagemAcucar, porcentagemGordura; {}
Doce(double pAcucar, double pGordura)
porcentagemAcucar = pAcucar;
porcentagemGordura = pGordura;
}
double calcularValorEnergetico() {
return porcentagemAcucar * 0.35 +
porcentagemGordura * 0.65;
}
}
class Chocolate extends Doce {
Chocolate() {
super(0.85,0.15);
}
}
Qual das alternativas abaixo melhor descreve o problema conceitual presente no código acima e uma possível solução utilizando corretamente conceitos da programação orientada a objetos?