Interfaces

Los métodos abstractos son útiles cuando se quiere que cada implementación de la clase parezca y funcione igual, pero necesita que se cree una nueva clase para utilizar los métodos abstractos. Los interfaces proporcionan un mecanismo para abstraer los métodos a un nivel superior. Un interface contiene una colección de métodos que se implementan en otro lugar. La principal diferencia entre interface y abstract es que un interface proporciona un mecanismo de encapsulación de los protocolos de los métodos sin forzar al usuario a utilizar la herencia.     public interface VideoClip {          // comienza la reproduccion del video              void play();          // reproduce el clip en un bucle           void bucle();          // detiene la reproduccion          void stop();          } Las clases que quieran utilizar el interface VideoClip utilizarán la palabra implements y proporcionarán el código necesario para implementar los métodos que se han definido para el interface: class MiClase implements VideoClip {          void play() {              <código>              }          void bucle() {              <código>              }          void stop() {              <código>              } Al utilizar implements para el interface es como si se hiciese una acción de copiar y pegar del código del interface, con lo cual no se hereda nada, solamente se pueden usar los métodos. La ventaja principal del uso de interfaces es que una clase interface puede ser implementada por cualquier número de clases, permitiendo a cada clase compartir el interfaz de programación sin tener que ser consciente de la implementación que hagan las otras clases que implementen el interface.     class MiOtraClase implements VideoClip {          void play() {              <código nuevo>              }          void bucle() {              <código nuevo>              }          void stop() {              <código nuevo>              }
Print Friendly, PDF & Email
The owner of this website has made a committment to accessibility and inclusion, please report any problems that you encounter using the contact form on this website. This site uses the WP ADA Compliance Check plugin to enhance accessibility.