Interfaces
Las interfaces nos sirven para especificar lo que una clase debe hacer pero no como lo hace. En otras palabras nos permite modelar una clase. El concepto de Interface lleva un paso ms adelante la idea de las clases abstractas. En Java una interface es una clase abstracta pura, es decir una clase donde todos los mtodos son abstractos (no se implementa ninguno). Las interfaces no pueden ser instanciadas
No tienen variables de instancia y los mtodos no tienen cuerpo, similar a los mtodos abstractos de una clase
Prof: Ing. Karla Abad Facultad de Sistemas y Telecomunicaciones
Interfaces
Las interfaces estn diseadas para admitir la resolucin dinmica de mtodos (elegir que mtodo utilizar) durante la ejecucin. Es posible que clases de diferentes tipos implementen la misma interface an cuando no estn relacionadas entre s por la herencia. Cualquier cantidad de clases pueden implementar una interface. Una clase puede implementar cualquier nmero de interfaces.
El acceso de la interfaz debe ser public o default (sin modificador) Los atributos y mtodos se declaran sin modificador de acceso. Todo mtodo es implcitamente abstracto y pblico. Si se declaran variables en la interfaz, estos son implcitamente public final y static (constante) y deben ser inicializados. No existen variables de instancia dentro de una interfaz. Recuerde que no se puede instanciar una interfaz.
Cuando una clase utiliza una interfaz decimos que dicha clase implementa la interfaz y utilizamos la palabra clave implements Una clase que implementa una interfaz debe implementar todos los mtodos declarados en la interfaz Si una clase implementa una interfaz y no define todos sus mtodos esta debe ser declarada como abstracta.
Cualquier instancia de una clase que implemente una interfaz puede ser referenciada por una variable del tipo de la interfaz. (Polimorfismo)
La variable de tipo interfaz solo tendr acceso a los miembros del objeto que se encuentre definidos en la interfaz y no al resto de elementos definidos dentro de la clase.
Qu es polimorfismo?
El polimorfismo indica que una variable pasada o esperada puede adoptar mltiples formas. Es la habilidad de una variable de un determinado tipo para hacer referencia a objetos de diferentes tipos y llamar automticamente a los mtodos del tipo especfico del objeto al que hace referencia.
La sobreescritura de mtodos permite a Java admitir el polimorfismo en tiempo de ejecucin. El polimorfismo es esencial en la Programacin Orienta a Objetos Permite que una clase general especifique mtodos que sern comunes a todas sus clases derivadas, permitiendo a stas definir la implementacin especfica de alguno de estos mtodos.
Enlace Dinmico
class A { void llamame() { System.out.println("Llama al metodo \"llamame\" de la clase A"); } }
Enlace Dinmico
class C extends A { void llamame() { System.out.println("Llama al metodo \"llamame\" de la clase C"); } }
Enlace Dinmico
class SeleccionDinamica { public static void main(String args[]) { A a = new A(); B b = new B(); C c = new C(); A r; //Polimorfismo y enlace dinmico r = a; r.llamame(); //Polimorfismo y enlace dinmico r = b; r.llamame(); //Polimorfismo y enlace dinmico r = c; r.llamame(); } }
Enlace Dinmico
Enlace Dinmico
Enlace Dinmico
Enlace Dinmico
Mucho más que documentos.
Descubra todo lo que Scribd tiene para ofrecer, incluyendo libros y audiolibros de importantes editoriales.
Cancele en cualquier momento.