Mock:What Is Generalization?

(Imagen: Diapostitivas del curso de IBM)

An architect looks at two classes. The first class has the following operations: getName(), getSize(), getTotal() and findAverage(). The second class has the following operations: getName(), getSize, findAverage(), findMinimum() and findMaximum(). The two classes share the same superclass. Which operations are most likely contained in the superclass?


A. getName(), getSize() and findAverage()
B. findMaximum(), findMinimum, getSize() and getTotal()
C. getName(), findAverage() and findMaximum()
D. getName(), getSize(), getTotal() and findAverage()

Generalización puede definirse como:

Una realización de especialización/generalización establece que los objetos del elemento especializado (el hijo) pueden sustituir a objetos del elemento generalizado (el padre). (The Unified Modeling Language User Guide, Booch, 1999)
  • La subclase puede usarse donde se usa la superclase, pero no viceversa.
  • El hijo hereda del padre
  • La generalización es transitiva. Se puede probar la generalización mediante la regla "es del tipo de". Siempre debe poder decirse que la clase especializada es "del tipo de" la clase padre.
  • Los términos "generalización" y "herencia" son generalmente intercambiables. Si se necesita distinguilos, generalización es el nombre de la relación, mientras que la herencia es el mecanismo que la relación de generalización representa/modela.
No tenía mucho que ver con la pregunta, pero la respuesta es la A.

Basado en el material del curso DEV475: Mastering Object-Oriented Analysis and Design with UML 2.0

Pregunta tomada de Elite Certify

Publicar un comentario