Sunteți pe pagina 1din 11

El Polimorfismo

"Polimorfismo" es una palabra de origen griego que significa "muchas formas".

Polimorfismo

Poli Morfismo
muchas formas

Este termino se utiliza en la POO para "referirse a la propiedad por la que es


posible enviar mensajes sintácticamente iguales a objetos de tipos distintos".

Como ejemplo vamos a tener una Super Clase o Clase padre (Vehículo) en la que
tendremos los atributos y métodos comunes a todos los tipos de vehículos
considerados(Automovil, Avión) y en ella se van a implementar los métodos del
comportamiento "genérico" que deben de tener todos los Vehículos. Los atributos y
métodos de la clase Vehículo los tendrán también los objetos de las clases Automóvil y Avión .
Diagrama de Clases UML Clase Main
Súper Clase Prueba Vehículo

Vehículo
String tipo
int velocidad
prender()
acelerar(int velocidad)
frenar(int velocidad)
parar()
mostrarVehiculo()

Sub Clase Sub Clase


Automóvil Avión

Automovil(String tipo) Avion(String tipo)


Interfaces en Java
¿ Que son las Interfaces ?

Son un conjunto de directrices o comportamientos a cumplir por las


CLASES que implementan dichas Interfaces.

¿ Características de las Interfaces ?


Se Almacenan en archivos con extensión . CLASS
Solo contienen Métodos Abstractos.

NO contienen Variables o Atributos sino que solo pueden utilizar


Constantes (public static final int num=300;) cuando se requiera.

No se pueden INSTANCIAR (new).


Clase1 Obj=new Interface1 NO SE PUEDE (ERROR)

Interface1 Obj=new Clase1 Si se puede (polimorfismo)

Sus Metodos son Public y Abstract y NO SE IMPLEMENTAN en la


Interface (las palabras Public y Abstract se pueden omitir)
Interfaces en Java
¿ Porque se utilizan las Interfaces ?

Se utilizan para solucionar los problemas de la Herencia Simple en


Java, es decir para permitir que una Clase Herede de dos o más
Clases a la vez(Herencia Múltiple).
NO
C1 C2 C1 I1
SI
C3
C3

La Herencia Simple en Java permite Simplificar el Lenguaje de


Programación, pero le Resta Potencialidad

Las Interfaces son una forma en Java para implementar la Herencia


Múltiple, disponible en otros Lenguajes de Programación Orientada a
objetos como por ejemplo C++
Interfaces en Java

Caso 1 Caso 2 Caso 3 Caso 4


Normal Normal
Normal Abstracta Abstracta Abstracta

C1 C1 C1 I1 C1 I1

I2
C2 C2 C2 C2 I2
Caso 1 Caso 2 Caso 3
public abstract class C1 public abstract class C1
public class C2 extends C1
public class C2 extends C1 public class C2 extends C1 implements I1,I2;

Caso 4
public abstract class C1
public interface I2 extends I1
public class C2 extends C1 implements I2;
Diagrama de Clases UML
RRHH
Calcular y Mostrar
Empleados Sueldo Mensual=Sueldo P/H * N° horas
Todos los datos Prima = N° hijos * 15.000
Ticket = N° horas * 2.300
Sueldo Mensual SOLO ID
Monto Prima N° horas
Monto Tickets
Sueldo Mas Primas

extends extends

Administrativo Docente Caso 2

Sueldo P/H Sueldo P/H Ticket


N° hijos N° hijos
Ticket Prima
Ticket CalcularT

Principal extends
Caso 1
Ticket Prima Prima

CalcularT CalculatP CalcularP


Diagrama de Clases UML
Atletas
Clases

Basquetbolista Corredor Fisicoculturista


Paquete
Nombre String Nombre String Objetos
Nombre String

Acción Acción Acción


Descanso Descanso Descanso

Interface

Prueba
Principal Paquete
Paquete Interfaces
Principal Acción
Descanso

S-ar putea să vă placă și