0% encontró este documento útil (0 votos)
66 vistas2 páginas

Java 15

El documento describe dos tipos de polimorfismo: polimorfismo paramétrico y polimorfismo de inclusión. El polimorfismo paramétrico se ilustra con un método demo() que se sobrecarga tres veces con diferentes parámetros. El método que se llama depende de los argumentos pasados. El polimorfismo de inclusión permite que una subclase redefina completamente un método de la superclase, como se muestra con la clase Bishop redefiniendo el método move de la clase Piece.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
66 vistas2 páginas

Java 15

El documento describe dos tipos de polimorfismo: polimorfismo paramétrico y polimorfismo de inclusión. El polimorfismo paramétrico se ilustra con un método demo() que se sobrecarga tres veces con diferentes parámetros. El método que se llama depende de los argumentos pasados. El polimorfismo de inclusión permite que una subclase redefina completamente un método de la superclase, como se muestra con la clase Bishop redefiniendo el método move de la clase Piece.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

olimorfismo paramétrico

Antes habíamos visto un ejemplo clásico de polimorfismo basado en sobrecarga. Pero


veamos ahora un ejemplo Paramétrico. Es importante entender que la conversión
automática sólo se aplican si no hay ninguna coincidencia directa entre un
parámetro y argumento.

Aquí el método demo() se sobrecarga 3 veces: el primer método tiene 1 parámetro


int, el segundo método tiene 2 parámetros int y el tercero tiene un parámetro
doble. Por lo que para lidiar con esta variedad el método que se llamará está
determinado por los argumentos que pasamos al llamar a los métodos. Esto sucede en
tiempo de compilación en tiempo de ejecución, por lo que este tipo de polimorfismo
se conoce también como polimorfismo en tiempo de compilación.

class Overload
{
void demo (int a)
{
System.out.println ("a: " + a);
}
void demo (int a, int b)
{
System.out.println ("a and b: " + a + "," + b);
}
double demo(double a) {
System.out.println("double a: " + a);
return a*a;
}
}
class MethodOverloading
{
public static void main (String args [])
{
Overload Obj = new Overload();
double result;
Obj .demo(10);
Obj .demo(10, 20);
result = Obj .demo(5.5);
System.out.println("O/P : " + result);
}
}
Salida de datos:
a: 10
a and b: 10,20
double a: 5.5
O/P : 30.25
Polimorfismo de inclusión
La habilidad para redefinir por completo el método de una superclase en una
subclase es lo que se conoce como polimorfismo de inclusión (o redefinición).

En él, una subclase define un método que existe en una superclase con una lista de
argumentos (si se define otra lista de argumentos, estaríamos haciendo sobrecarga y
no redefinición).

Un ejemplo muy básico en donde la clase Bishop sobreescribe el método move. Esto es
el polimorfismo de inclusión.

abstract class Piece{


public abstract void move(byte X, byte Y);
}
class Bishop extends Piece{
@Override
public void move(byte X, byte Y){

}
}

También podría gustarte