Escolar Documentos
Profissional Documentos
Cultura Documentos
ES1511109383
DESARROLLO DE SOFTWARE
3ER SEMESTRE
UNIDAD 3
ACTIVIDAD 1
Subclase
Una subclase es una clase que desciende de otra clase. Una subclase hereda el estado y el
comportamiento de todos sus ancestros. El trmino superclase se refiere a la clase que es el ancestro ms
directo, as como a todas las clases ascendentes.
Superclase
Jerarqua de Herencia
En Java muchas subclases pueden heredar de una misma superclase, y a su vez una subclase
puede convertirse en superclase de otra. As las cosas, podemos hablar de una jerarqua de herencia. La
jerarqua es el esquema organizativo de las clases con relacin de herencia entre s.
Interface
Herencia
La herencia es un mecanismo que permite la definicin de una clase a partir de la definicin de otra
ya existente. La herencia permite compartir automticamente mtodos y datos entre clases, subclases y
objetos.
La herencia est fuertemente ligada a la reutilizacin del cdigo en la OOP. Esto es, el cdigo de
cualquiera de las clases puede ser utilizado sin ms que crear una clase derivada de ella, o bien una
subclase.
Hay dos tipos de herencia: Herencia Simple y Herencia Mltiple. La primera indica que se pueden
definir nuevas clases solamente a partir de una clase inicial mientras que la segunda indica que se pueden
definir nuevas clases a partir de dos o ms clases iniciales. Java slo permite herencia simple.
Polimorfismo
Otro concepto de la OOP es el polimorfismo. Un objeto solamente tiene una forma (la que se le
asigna cuando se construye ese objeto) pero la referencia a objeto es polimrfica porque puede referirse a
objetos de diferentes clases (es decir, la referencia toma mltiples formas). Para que esto sea posible debe
haber una relacin de herencia entre esas clases.
Ejemplo Herencia y Polimorfismo
Un ejemplo del concepto de herencia es el de figuras geomtricas. Se puede considerar una clase
denominada FiguraGeometrica, del cual heredan las clases Cuadrado, Circulo, Triangulo y Rectngulo.
En este caso, la clase FiguraGeometrica, poseera un atributo que puede ser llamado valor1. Este
atributo es heredado por las clases Cuadrado, Circulo, Triangulo y Rectngulo. Sin embargo, las clases
Rectngulo y Triangulo requieren dos valores. Esto indica que deben incluirse como atributos de cada una
de estas clases.
Por otro lado, la clase FiguraGeometrica puede implementar los mtodos consultores y
modificadores, los que podrn ser usados por cada una de las clases que la heredan.
El objetivo del polimorfismo, consiste en poder acceder a diferentes servicios en tiempo de ejecucin
sin necesidad de implementar diferentes referencias a objetos. Esta caracterstica, provee una gran flexibilidad
en el proceso de desarrollo y ejecucin de la aplicacin.
Por ejemplo, considerando la jerarqua de herencia de Figuras Geomtricas de la siguiente figura,
es posible hacer uso del concepto de polimorfismo.
Con base en el modelo anterior, se puede crear una referencia de la clase FiguraGeometrica de la
siguiente forma.
1 FiguraGeometrica figura;
A la referencia figura se le puede generar instancia de cualquiera de las clases que derivan de ella de
la siguiente forma.
En la primera lnea, el objeto figura tiene la forma de circulo, de tal forma que si se accede al mtodo
getArea, se ejecuta el mtodo implementado en crculo.
En la segunda lnea, el objeto figura tiene la forma de cuadrado, de tal forma que si se accede al
mtodo getArea, se ejecuta el mtodo implementado en cuadrado.
En la tercer lnea, el objeto figura tiene la forma de rectngulo, de tal forma que si se accede al
mtodo getArea, se ejecuta el mtodo implementado en rectngulo.
En la cuarta lnea, el objeto figura tiene la forma de triangulo, de tal forma que si se accede al mtodo
getArea, se ejecuta el mtodo implementado en triangulo.
En la quinta lnea, el objeto figura tiene la forma de cubo, de tal forma que si se accede al mtodo
getArea, se ejecuta el mtodo implementado en cubo.