Sei sulla pagina 1di 4

POLIMORFISMO

Concepto de Polimorfismo
El polimorfismo es la propiedad que le permite a una operacin o funcin tener el mismo nombre
en clases diferentes y actuar de modo distinto en cada una de ellas; por ejemplo: se puede abrir
una puerta, una ventana, un libro, un peridico, una cuenta en un banco, una conversacin, un
congreso; en cada caso se realiza una accin diferente. En orientacin a objetos, cada clase
conoce como realizar esa operacin.
En la vida diaria hay numerosos ejemplos de polimorfismo: en un taller de reparaciones de
automviles existen diferentes marcas, modelos, potencias, carburantes, etctera, que
constituyen una clase o coleccin heterognea. Supongamos que se ha de realizar una operacin
tpica como cambiar los frenos; sta es la misma, los principios de trabajo son iguales, sin
embargo, dependiendo del auto en particular; la operacin cambiar e incluir diferentes
acciones.
El polimorfismo es importante en el modelado de sistemas, porque el uso de palabras iguales
tiene comportamientos distintos, segn el problema a resolver; y tambin es importante en el
desarrollo de software pues toma ventaja de la propiedad de la herencia.

Sobrecarga de Mtodos
En Java, dos o ms mtodos en la misma clase pueden compartir el mismo nombre, siempre y
cuando sus declaraciones de parmetros sean diferentes. Cuando sucede as, se dice que los
mtodos estn sobrecargados, y al proceso se le denomina sobrecarga de mtodos.

La

sobrecarga de mtodos es una manera en la que Java implementa el polimorfismo.


En general, para sobrecargar un mtodo, simplemente debe declarar diferentes versiones de
l. El compilador se hace cargo del resto.
REGLAS:
Deben tener el mismo nombre.
El tipo o el nmero de parmetros de cada mtodo sobrecargado deben ser diferentes
(firma de parmetros).
No basta con que dos mtodos difieran solo en su tipo de regreso. (Los tipos de regreso
no proporcionan informacin suficiente para que Java decida cual mtodo usar).

Ejemplo:
class Sobrecarga {
void metodo()
mtodo sin parmetros
{
System.out.println("Metodo sin parametros" );
}
ING. VERONICA ROSA

POLIMORFISMO

void metodo(int a)
mtodo con un parmetro
{
System.out.println("Metodo con un parametro: " + a);
}
int metodo(int a, int b)
mtodo con dos parmetros int
{
System.out.print("La suma del metodo con dos parametros
es: ");
return a + b;
}

enteros

void metodo(double a, double b)


mtodo con dos parmetros double
{
System.out.println("La suma del metodo con dos parametros double
es: " + (a + b));
}
}
class DemoSobrecarga
{
public static void main(String args[]){
Sobrecarga obj=new Sobrecarga();
obj.metodo();
obj.metodo(5);
System.out.println(obj.metodo(4,6));
obj.metodo(5.2,6.3);
}
}

Cuando compile y ejecute el programa ver la siguiente salida:


Metodo sin parmetros
Metodo con un parmetro: 5
La suma del metodo con dos parametros enteros es: 10
La suma del metodo con dos parametros double es: 11.5

Sobrecarga de Constructores
Al igual que los mtodos, los constructores tambin pueden sobrecargarse. Esto le permite
construir objetos de varias maneras.

ING. VERONICA ROSA

POLIMORFISMO

Ejemplo:
class SobrecargaConstructor
{
SobrecargaConstructor()
Constructor sin parmetros
{
System.out.println("Constructor sin parametros");
}
SobrecargaConstructor(int x)
Constructor con un parmetro int
{
System.out.println("Constructor con un parametro entero: " + x);
}
SobrecargaConstructor(double x)
Constructor con un parmetro double
{
System.out.println("Constructor con un parametro double: " + x);
}
SobrecargaConstructor(String x)
Constructor con un parmetro String
{
System.out.println("Constructor con un parametro String: " + x);
}
}
class DemoSobrecarga
{
public static void main(String
{
SobrecargaConstructor obj1=
SobrecargaConstructor obj2=
SobrecargaConstructor obj3=
SobrecargaConstructor obj4=
}
}

args[])
new
new
new
new

SobrecargaConstructor();
SobrecargaConstructor(10);
SobrecargaConstructor(5.4);
SobrecargaConstructor("Hola");

Cuando compile y ejecute el programa ver la siguiente salida:

ING. VERONICA ROSA

POLIMORFISMO
En el ejemplo anterior, la clase SobrecargaConstructor est sobrecargada de cuatro formas, y
cada una construye un objeto de manera diferente. Se llama al constructor apropiado con base
en los parmetros especificados cuando se ejecuta new. Al sobrecargar un constructor de clase,
usted brinda al usuario de su clase flexibilidad en la manera en que se construyen los objetos.
Una de las razones ms comunes por las que los constructores se sobrecargan en para permitir
que un objeto inicialice a otro.

ING. VERONICA ROSA

Potrebbero piacerti anche