Está en la página 1de 5

MIGUEL ANGEL AGUILAR ESTANISLAO

ES1511109383

UNIVERSIDAD ABIERTA Y A DISTANCIA DE


MEXICO

DESARROLLO DE SOFTWARE

PROGRAMACIN ORIENTADA A OBJETOS

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

La clase padre de cualquier clase es conocida como su 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

Es una coleccin de definiciones de mtodos sin cuerpo y de declaraciones de constantes de tipo


primitivo, agrupadas bajo un nombre. Establece qu debe hacer la clase que la implementa, sin especificar el
cmo.

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.

As mismo, de la clase Cuadrado, es posible heredar la clase Cubo. De la clase Triangulo es


posible heredar la clase Pirmide y Cono. De la clase Circulo es posible heredar la clase Esfera y Cilindro.

La representacin de herencia del caso anteriormente expuesto en lenguaje de modelado es la


siguiente.

El polimorfismo es la caracterstica de la programacin orientada a objetos que permite modificar la


instancia de un objeto en tiempo de ejecucin basado en una jerarqua de herencia. De esta forma, es posible
generar una relacin de vinculacin denominada Binding. El polimorfismo se puede realizar con clases
superiores normales, abstractas e interfaces.

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.

1 figura = new Circulo(5);

2 figura = new Cuadrado(5);

3 figura = new Rectangulo(5,2);

4 figura = new Triangulo(5,2);

5 figura = new Cubo(5);

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.