Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Duda sobre interfaces php

Estas en el tema de Duda sobre interfaces php en el foro de Frameworks y PHP orientado a objetos en Foros del Web. hola a todos, antes de hacer este post utilice el boton "BUSCAR" y no encontre la misma duda que tengo sobre las interfaces php vi ...
  #1 (permalink)  
Antiguo 11/04/2010, 19:37
 
Fecha de Ingreso: septiembre-2009
Mensajes: 54
Antigüedad: 14 años, 7 meses
Puntos: 0
Pregunta Duda sobre interfaces php

hola a todos, antes de hacer este post utilice el boton "BUSCAR" y no encontre la misma duda que tengo sobre las interfaces php

vi muchos ejemplos sobre interfaces pero tengo una duda con los ejemplos que muestran en todas partes y este es uno de ellos

este ejemplo sobre las interfaces dice asi:

Código PHP:

interface encendible//entiendo que aqui se crea la interfaz con 2 metodos
   
public function encender();
   public function 
apagar();

ahora implementamos la interface

Código PHP:
class bombilla implements encendible {

public function 
encender(){ //uso los metodos de la interface
   
echo "<br>Y la luz se hizo...";
}

public function 
apagar(){ //igual aqui
   
echo "<br>Estamos a oscuras...";
}

Aahora imprimo el resultado
Código PHP:
$obj = new bombilla();
$obj->encender(); //se enciende
$obj->apagar(); //se apaga 
Bueno hasta ahora todo bien, funciona PERO mi pregunta es.. Y PARA QUE SIRVEN LAS INTERFACES AQUI??? si podria haber creado esta misma classe de la forma habitual ahorrando codigo (segun mi opinion hasta donde entiendo):

Código PHP:
class bombilla {

public function 
encender(){
   echo 
"<br>Y la luz se hizo...";
}

public function 
apagar(){
   echo 
"<br>Estamos a oscuras...";
}


#muestro resultado
$obj = new bombilla();
$obj->encender();
$obj->apagar();
#noto que aqui hay menos codigo que en el ejemplo de las interfaces de arriba 
quizas me falto entender algo de los conceptos que lei sobre las interfaces pero por mas que leo mi libro y busco mas informacion en google siempre encuentro lo mismo y casi los mismos ejemplos y no logro entender o encontrar un ejemplo realmente util de las interfaces
me podrian explicar que es lo que me falto comprender?? porque noto que en este ejemplo las interfaces estan por demas
  #2 (permalink)  
Antiguo 11/04/2010, 21:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Duda sobre interfaces php

Si hubieras buscado, hay un post donde se explica claramente para que sirven las interfaces, esto es, que garantizan que un objeto se puede comportar de una forma definida, entonces tu al diseñar una clase puedes decir: "mi objeto solo acepta objetos que se encienden" pero como tu clase puede encender lo que sea, necesitas garantizar con un contrato que las clases que pasen sean encendibles.

Para eso sirven las interfaces, es un contrato que obliga al programador a implementar las funciones necesarias para que las clases puedan trabajar juntas.

Saludos.
  #3 (permalink)  
Antiguo 12/04/2010, 10:56
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 21 años
Puntos: 60
Respuesta: Duda sobre interfaces php

Hola, lee este POST aquí explique la diferencia de usar la interface para algo que parece que no se necesita.

http://www.forosdelweb.com/f68/aport...a-php5-702193/

__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #4 (permalink)  
Antiguo 13/04/2010, 11:20
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Respuesta: Duda sobre interfaces php

Estimado, revisa este post que tratamos el tema de interfaces


http://www.forosdelweb.com/f68/interface-implements-670265/
__________________
Blog phpsenior.com Cursos a Distancia surforce.com

Etiquetas: php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:21.