Abstracción y Herencia en Programación Orientada a Objetos

Clase 31 de 39Curso de Java SE Orientado a Objetos

Resumen

Las Interfaces nos permiten usar métodos abstractos y campos constantes para implementar herencia/polimorfismo de forma muy similar a las clases abstractas.

A partir de Java 8 podemos tener implementación en métodos para heredar y reutilizar diferentes comportamientos. No todos los métodos de nuestras interfaces deben ser abstractos, ahora podemos usar el modificador de acceso default y desde Java 9 también private.

Recuerda que el nivel de acceso de default y private son los mismos que estudiamos en clases anteriores.

public interface MyInterface { // Métodos default: nos permite heredar la definición // de la función y también su implementación... default void defaultMethod() { privateMethod("Hello from the default method!"); } // Métodos private: nos permiten definir comportamiento, // pero solo se puede usar desde otras clases de esta // interfaz, no se hereda a la clase hija.... private void privateMethod(final String message) { System.out.println(message); } // Métodos abstractos: recuerda que todos los métodos // son abstractos por defecto... void normalMethod(); }
Encapsulamiento: Modificadores de acceso