Bueno estuve leyendo sobre un ejemplo colocado en
desarrolloweb sobre interfaces y la verdad, tengo una gran duda, ahi ellos implementan una interfaz encendible, con 2 metodos ke son encender y apagar, entonces crean 2 clases que implementan esta interfaz(bombilla y coche) que tienes estos 2 metodos declarados en la interfaz con su respectivo codigo en cada clase,bueno de ahi crean una funcion llamada enciende_algo, al cual se le pasa un objeto y de acuerdo al objeto llama al metodo de su clase(bombilla o coche) al que pertence, entonces hasta ahi todo bien, el problema viene aki kuando se crea una tercera clase(llamada cd) pero que no implementa esta interfaz, entonces cuando se llama a la funcion enciende_algo y le paso el objeto que instancia a esta tercera clase, provoca un error pero no el que la pagina de desarrolloweb mencionan que es este
Fatal error: Argument 1 must implement interface encendible in c:\www\ejphp5\funcion_encender.php
- Solo me sale un error de que el metodo no esta implementado.
Ahora mi gran duda es esta, cual es la gran diferencia o que es lo que pasa si en vez de hacer ke mis 2 clases ke implementan esta interfaz (bombilla y coche) y a la vez se declara los respectivos metodos solo implemente los 2 metodos cada uno dentro de su clase sin implementar la interfaz. El proceso es el mismo, pero me pregunto para que entonces implemento esta interfaz?
Seria mejor que vean el ejemplito jejejeje....