universidad regional autónoma de lo1

4

Click here to load reader

Upload: jonathan-israel

Post on 05-Jul-2015

106 views

Category:

Documents


0 download

DESCRIPTION

POLIMORFISMO EN JAVA

TRANSCRIPT

Page 1: Universidad regional autónoma de lo1

UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS

ANDES “UNIANDES”

TEMA:

POLIMORFISMO EN JAVA

ESTUDIANTE:

Jonathan Israel Salguero Flores

DOCENTE:

Luis Gualpa

Page 2: Universidad regional autónoma de lo1

Puyo-Pastaza

25/04/2013

Page 3: Universidad regional autónoma de lo1

POLIMORFISMO EN JAVA

Polimorfismo

El polimorfismo es un concepto de la programación

orientada a objetos que nos permite programar en forma

general, en lugar de hacerlo en forma específica. En general

nos sirve para programar objetos con características

comunes y que todos estos compartan la misma superclase

en una jerarquía de clases, como si todas fueran objetos de

la superclase. Esto nos simplifica la programación.

Recuerde el ejemplo del ecosistema, en donde todos los

objetos de las distintas especies heredaban de una

superclase llamada Animal, que brindaba la información

general de cualquier animal, independiente de su especie. Sin embargo, cada especie hace un uso particular

de cada uno de los métodos u operaciones de la clase Animal. El método comer() no se ejecutará de la

misma manera en un León() o en un Pavo(). Lo mismo ocurre para métodos moverse() en objetos de

tipo Tiburón() o Gallina(), aunque todas las especies realicen estos métodos. A la sobrescritura o

implementación específica de métodos es la clave del polimorfismo.

Para poner en práctica se hará un ejemplo bastante sencillo. Se hará una librería de clases que represente

figuras tridimensionales y bidimensionales, y su respectiva jerarquía de clases. Las clases deben ser capaces

de tener funcionamiento bastante básico, como obtener áreas, volúmenes y perímetros de la figura

correspondiente.

La representación de la jerarquía sería como ésta:

Click a la imagen para verla más

grande...

La superclase de dicha jerarquía podría ser muy parecida a ésta:

Page 4: Universidad regional autónoma de lo1

publicabstractclass figura {

protected String nombre;

protectedint color;

protectedint grosorBorde;

public StringgetNombre(){

returnthis.nombre;

}

publicvoid setNombre(String n){

this.nombre=n;

}

publicint getColor(){

returnthis.color;

}

publicvoid setColor(int c){

this.color=c;

}

publicint getGrosorBorde(){

returnthis.grosorBorde;

}

publicvoid setGrosorBorde(int g){

this.grosorBorde=g;

}

publicabstractvoid dibujar();

}

Las siguientes clases en el nivel de la jerarquía podrían quedar muy parecidas a éstas:

publicabstractclass figura2D extends figura {

publicabstractint calcularArea();

publicabstractint calcularPerimetro();

}

publicabstractclass figura3D extends figura {

publicabstractint calcularVolumen();

}

Se le pide que forme las clases de la parte inferior de la jerarquía y que representarían los objetos a

instanciarse.

Además, debe de realizar una implementación de esta librería, en donde el usuario pueda crear nuevas

figuras y que éstas se almacenen en un arreglo de figuras.