Está en la página 1de 4

TEMA 11 - TÉCNICAS DE ABSTRACCIÓN ADICIONALES

(CAPÍTULO 12)

• Se sitúan campos comunes en la superclase Animal:

– age, alive, location

• Se renombran métodos para proporcionar ocultación de la información:

– run y hunt pasan a ser act.

• La clase Simulator puede desacoplarse significativamente.

● LAS CLASES ABSTRACTAS Y LOS MÉTODOS


• Los métodos abstractos tienen la palabra abstract en la signatura.

• Los métodos abstractos no tienen cuerpo.

• Los métodos abstractos hacen que la clase se abstracta.

• Las clases abstractas no pueden instanciarse.

• Las clases concretas completarán la implementación.


▪ LA CLASE ABSTRACTA ANIMAL

Para la clase Animal, queremos indicar que cada animal dispone de un método act. Pero no
podemos proporcionar una implementación razonable en la clase Animal.

● HERENCIA MULTIPLE

• Una clase hereda sus elementos directamente de sus superclases.

• Cada lenguaje tiene sus propias reglas.

– ¿Es posible que una clase herede mas de 1 clase?

• Java lo prohíbe para las clases.

• Java lo permite para las interfaces (es decir se pueden implementar 2 interfaces).

– Al ser completamente abstractas nunca se compite por la implementación.


● INTERFAZ ACTOR
Una interfaz Java es una especificación de un tipo (en la forma de un nombre de tipo y un
conjunto de métodos) que no define ninguna implementación para los métodos.

▪ CLASES QUE IMPLEMENTAN UNA INTERFAZ

▪ INTERFACES COMO TIPOS

• Las clases que se implementan no heredan código, pero las clases implementadas son
suptipos del tipo de la interfaz.

• Por lo tanto, el polimorfismo ocurre tanto con las interfaces como con las clases.
▪ CARACTERÍSTICAS DE LAS INTERFACES

• Usar interface en vez de class en la declaración.

• No hay constructores.

• Todos los métodos son abstractos (pueden omitir abstract).

• Todos los métodos son públicos.

• Todos los campos son públicos, estáticos y finales (public static final).

▪ INTERFACES COMO ESPECIFICACIONES

• Fuerte separación de la funcionalidad de la implementación.

– Aunque los tipos de parámetros y de valores de retorno deben ser especificados.

• Los clientes interactúan independientemente de la implementación.

– Pero los clientes pueden elegir de entre varias implementaciones posibles.

• List, Map y Set son ejemplos.

▪ IMPLEMENTACIONES ALTERNATIVAS

También podría gustarte