Sie sind auf Seite 1von 13

POLIMORFISMO

Principio de Sustitución

Se puede utilizar un objeto de la clase siempre que el programa espere un objeto de la


superclase.

Un objeto se puede comportar de diferente forma dependiendo del contexto.

El polimorfismo es una habilidad de tener varias formas.

Las variables objeto son polimórficas.


Clase
Empleado getSueldo() sueldo

Clase
getSueldo() sueldoJefe+incentivo
Jefatura
Clase
CLASE FINAL Empleado

Cuando de una clase


no quiero que herede
otras subclases. Tengo
que declarer a esa
clase como final.
Clase final class Jefatura extends Empleado
Con eso la cadena de Jefatura
la herencia quedaría
finalizada en la clase
jefe.

También se puede
aplicar en métodos.
Clase
Director
CLASES ABSTRACTAS
getNombre () getDescripcion () Método
Clase Abstracto
Es el mismo para Persona Es diferente en las
todas las clases clases

Es un

Clase Clase
getSueldo()
Empleado Alumno

Clase
Jefatura

La clase Director es la más especializada


Clase
por que hereda los métodos de Jefatura
Director más los que hereda de Empleado.
Un método Abstracto en java se crea:

public abstract Tipo_de_dato NombreMetodo();

• Un método abstracto simplemente se define, no se implementa.


• Cuando la clase tiene uno o más métodos abstractos, está obligado a declarar la clase como
abstracta.
• Se declara una clase como abstracta:
public abstract class NombreClase{

• El tener una clase abstracta no es más que seguir un patrón en el diseño de la jerarquía de tu
herencia, por que cuando tu declaras un método abstracto en una clase, todas las clases que
heredan de una clase abstracta están obligadas a sobrescribir ese método abstracto.
INTERFACES
Qué son las interfaces

• Conjunto de directrices que deben cumplir las clases.


• Las interfaces establecen los comportamientos (directrices = métodos) a cumplir por las clases
que se van a implementar.
• En las interfaces todos sus métodos son abstractos.
• Se implementan para resolver el problema de la herencia simple.

Método 1
Interfaz
Método 2

Implementa

Método 1
Clase
Método 2
Características de las interfaces

• Se almacenan en un fichero .class

Interfaz • No se pueden instanciar (no uso de


new)

• Todos sus métodos son public y


abstract. No se implementan. Es
decir si no colocamos las palabras
Sólo public y abstract en un método se
contienen supone que ya son.

• No tienen variables, sólo


constantes.
Métodos • Las interfaces no tienen
Constantes
abstractos constructor.
Características de las interfaces

Clase
Empleado

Interfaz 1

Clase
Jefatura

Interfaz 2

Class Jefatura extends Empleado implements Interfaz1, Interfaz2


Propiedades de las interfaces

• Las interfaces no se pueden instanciar.


<<interface>>
AccionesGenerales

+desplazarse()
+jugar()
+alimentarse()
+dormir()

<<interface>>
implements
AccionesHumano

Humano Animal
+bailar()
+estudiar()
+trabajar()

extends

Hombre Mujer Perro Gato

Das könnte Ihnen auch gefallen