Difference between revisions of "Programação com Objectos/Aula Prática 04/Exercício de C++"

From Wiki**3

< Programação com Objectos‎ | Aula Prática 04
(Herança, Composição, Polimorfismo, Overloading, Overriding)
 
Line 3: Line 3:
 
== Herança, Composição, Polimorfismo, Overloading, Overriding ==
 
== Herança, Composição, Polimorfismo, Overloading, Overriding ==
  
Modele e implemente o seguinte problema. Existem três tipos de carro: o modelo '''básico''', que não pode ser reconfigurado relativamente ao seu motor de origem (da '''gama Economy'''); o modelo de '''gama média''', essencialmente um modelo básico que permite trocar o motor original por outro (usando ainda motores da '''gama Economy'''); e o modelo '''topo de gama''', que além de permitir todas as operações do modelo de gama média, permite ainda utilizar motores da '''gama Xtreme'''. Pode assim, mantendo o motor económico, adicionar um novo e possante motor, utilizando ambos os motores para maior desempenho. Do ponto de vista de cada carro, o tipo e número de motores não são importantes, já que todos fazem o mesmo: '''ligar''' (quando o carro precisa de '''andar''' – liga o(s) motor(es)) e '''desligar''' (quando o carro precisa de '''parar''' – desliga o(s) motor(es)). Considere que os carros apenas disponibilizam os métodos de criação, configuração de motores e andar/parar. Considere que ambas as gamas de motores fornecem a funcionalidade ligar/desligar. Pode realizar outros métodos que julgue necessitar. Evite repetições de código. Contrua uma aplicação exemplo ('''main''').
+
Modele e implemente o seguinte problema. Existem três tipos de carro: o modelo '''básico''', que não pode ser reconfigurado relativamente ao seu motor de origem (da '''gama Economy'''); o modelo de '''gama média''', essencialmente um modelo básico que permite trocar o motor original por outro (usando ainda motores da '''gama Economy'''); e o modelo '''topo de gama''', que além de permitir todas as operações do modelo de gama média, permite ainda utilizar motores da '''gama Xtreme'''. Pode assim, mantendo o motor económico, adicionar um novo e possante motor, utilizando ambos os motores para maior desempenho. Do ponto de vista de cada carro, o tipo e número de motores não são importantes, já que todos fazem o mesmo: '''ligar''' (quando o carro precisa de '''andar''' – liga o(s) motor(es)) e '''desligar''' (quando o carro precisa de '''parar''' – desliga o(s) motor(es)). Considere que os carros apenas disponibilizam os métodos de criação, configuração de motores e andar/parar. Considere que ambas as gamas de motores fornecem a funcionalidade ligar/desligar. Pode realizar outros métodos que julgue necessitar. Evite repetições de código. Construa uma aplicação exemplo ('''main''').
  
 
[[category:Ensino]]
 
[[category:Ensino]]
 
[[category:PO]]
 
[[category:PO]]
 
[[category:Aulas Práticas de PO]]
 
[[category:Aulas Práticas de PO]]

Latest revision as of 14:42, 16 October 2019

Exercício de C++ da semana 04 -- entregar exclusivamente, em papel A4 manuscrito, na aula prática da semana 05.

Herança, Composição, Polimorfismo, Overloading, Overriding

Modele e implemente o seguinte problema. Existem três tipos de carro: o modelo básico, que não pode ser reconfigurado relativamente ao seu motor de origem (da gama Economy); o modelo de gama média, essencialmente um modelo básico que permite trocar o motor original por outro (usando ainda motores da gama Economy); e o modelo topo de gama, que além de permitir todas as operações do modelo de gama média, permite ainda utilizar motores da gama Xtreme. Pode assim, mantendo o motor económico, adicionar um novo e possante motor, utilizando ambos os motores para maior desempenho. Do ponto de vista de cada carro, o tipo e número de motores não são importantes, já que todos fazem o mesmo: ligar (quando o carro precisa de andar – liga o(s) motor(es)) e desligar (quando o carro precisa de parar – desliga o(s) motor(es)). Considere que os carros apenas disponibilizam os métodos de criação, configuração de motores e andar/parar. Considere que ambas as gamas de motores fornecem a funcionalidade ligar/desligar. Pode realizar outros métodos que julgue necessitar. Evite repetições de código. Construa uma aplicação exemplo (main).