9.2 Superclases y subclases 

381

ras

 son del tipo 

FiguraBidimensional

 o 

FiguraTridimensional

. El tercer nivel de esta jerarquía contiene 

algunos tipos más específi cos de fi guras tipo 

FiguraBidimensional

 y 

FiguraTridimensional

. Al igual que 

en la fi gura 9.2, podemos seguir las fl echas desde la parte inferior del diagrama, hasta la superclase de más arriba en
esta jerarquía de clases, para identifi car varias relaciones 

es un. Por ejemplo, un 

Triangulo

es un objeto 

Figu-

raBidimensional

 y 

es una 

Figura

, mientras que una 

Esfera

es una 

FiguraTridimensional

 y 

es una 

Figura

.

Observe que esta jerarquía podría contener muchas otras clases. Por ejemplo, las elipses y los trapezoides son del 
tipo

FiguraBidimensional

.

No todas las relaciones de clases son una relación de herencia. En el capítulo 8 hablamos sobre la relación 

tiene-un, en la que las clases tienen miembros que hacen referencia a los objetos de otras clases. Tales relaciones 
crean clases mediante la composición de clases existentes. Por ejemplo, dadas las clases 

Empleado

,

FechaDeNa-

cimiento

 y 

NumeroTelefonico

, no es apropiado decir que un 

Empleado

es una

FechaDeNacimiento

 o que un 

Empleado

es un

NumeroTelefonico

. Sin embargo, un 

Empleado

tiene una

FechaDeNacimiento

 y también 

tiene 

un

NumeroTelefonico

.

Es posible tratar a los objetos de superclases y a los objetos de subclases de manera similar; sus similitudes 

se expresan en los miembros de la superclase. Los objetos de todas las clases que extienden a una superclase 
común pueden tratarse como objetos de esa superclase (es decir, dichos objetos tienen una relación 

“es un” con la 

superclase). Sin embargo, los objetos de una superclase no pueden tratarse como objetos de sus subclases. Por 
ejemplo, todos los automóviles son vehículos pero no todos los vehículos son automóviles (los otros vehículos 
podrían ser camiones, aviones o bicicletas, por ejemplo). Más adelante en este capítulo y en el 10, Programación 
orientada a objetos: polimorfi smo, consideraremos muchos ejemplos que aprovechan la relación 

es un.

Un problema con la herencia es que una subclase puede heredar métodos que no necesita, o que no debe 

tener. A pesar de que un método de superclase sea apropiado para una subclase, a menudo esa subclase requiere una 
versión personalizada del método. En dichos casos, la subclase puede 

sobrescribir

 (redefi nir) el método de la super-

clase con una implementación apropiada, como veremos a menudo en los ejemplos de código de este capítulo.

Figura 9.2

  |  Jerarquía de herencia para objetos 

MiembroDeLaComunidad

 universitaria.

Estudiante

MiembroDeLaComunidad

Administrador

Exalumno

Empleado

Administrativo

Docente

Maestro

Figura 9.3

  |  Jerarquía de herencia para 

Figuras

.

FiguraTridimensional

Tetraedro

Cubo

Esfera

Cuadrado

Triangulo

Circulo

Figura

FiguraBidimensional

09_MAQ_CAP_09.indd381

4/19/081:24:28AM