(New page: == Problema == == Solução == category:Ensino category:PO) |
|||
Line 1: | Line 1: | ||
− | + | = Problema = | |
− | == | + | Considere o [[Introdução aos Objectos/Exercício 02: Energia|Exercício 02]] da [[Introdução aos Objectos]]. |
+ | |||
+ | Resolva agora o mesmo problema, mas considerando as possíveis abstracções de comportamentos e propriedades comuns aos vários conceitos. Defina os conceitos do problema com base nas suas abstracções. | ||
+ | |||
+ | Discuta as opções da abstracção, em particular, no que respeita a aspectos menos flexíveis relativamente a possíveis alterações do modelo (constantes, propriedades, comportamentos comuns, etc.). Ainda neste sentido, compare a nova solução com a [[Introdução aos Objectos/Exercício 02: Energia|solução da anterior]]. Chegou à conclusão que a sua nova solução ainda apresenta dificuldades face à manutenção do código? Neste caso, quais são os aspectos problemáticos? | ||
+ | |||
+ | = Solução = | ||
+ | |||
+ | A solução apresentada procura uma abstracção adequada das propriedades e comportamentos intrínsecos dos conceitos em causa. Alguns aspectos, relativos à abstracção funcional não são ainda considerados. | ||
+ | |||
+ | == UML: Diagrama de Classes == | ||
+ | |||
+ | [[Image:PO-dog-cat-mouse-bird-energy-with-inheritance.png]] | ||
+ | |||
+ | == Conceito de Animal == | ||
+ | |||
+ | == Conceito de Cão == | ||
+ | |||
+ | == Conceito de Gato == | ||
+ | |||
+ | == Conceito de Rato == | ||
+ | |||
+ | == Conceito de Pássaro == | ||
[[category:Ensino]] | [[category:Ensino]] | ||
[[category:PO]] | [[category:PO]] |
Considere o Exercício 02 da Introdução aos Objectos.
Resolva agora o mesmo problema, mas considerando as possíveis abstracções de comportamentos e propriedades comuns aos vários conceitos. Defina os conceitos do problema com base nas suas abstracções.
Discuta as opções da abstracção, em particular, no que respeita a aspectos menos flexíveis relativamente a possíveis alterações do modelo (constantes, propriedades, comportamentos comuns, etc.). Ainda neste sentido, compare a nova solução com a solução da anterior. Chegou à conclusão que a sua nova solução ainda apresenta dificuldades face à manutenção do código? Neste caso, quais são os aspectos problemáticos?
A solução apresentada procura uma abstracção adequada das propriedades e comportamentos intrínsecos dos conceitos em causa. Alguns aspectos, relativos à abstracção funcional não são ainda considerados.