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

Dudas con classes abstractas e interfaces

Estas en el tema de Dudas con classes abstractas e interfaces en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, la duda que tengo es para que exactamente usar interfaces. Según entiendo se utilizan para que classes de distintas jerarquias esten obligadas a utilizar ...
  #1 (permalink)  
Antiguo 26/02/2009, 08:30
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Dudas con classes abstractas e interfaces

Hola, la duda que tengo es para que exactamente usar interfaces. Según entiendo se utilizan para que classes de distintas jerarquias esten obligadas a utilizar todos los metods de las interfaces, pero por otro lado también esta funcion no las hacen los metodos abtractos dentro de cada jerarquia de classes ?

También me gustaria saber porque hay classes como abstract class Zend_Db_Table_Abstract que no tienen ningún metodo abstracto pero si un contructor, son abstractas para que no se pueda crear una instancia de ellas y se deba crear una hijo ? y si es asi, que diferencia hay entre crear una de ella o de un hijo ?

Gracias
  #2 (permalink)  
Antiguo 26/02/2009, 10:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Dudas con classes abstractas e interfaces

Hola lisandro Arg,

Te recomiendo busques en los foros, es un tema amplimente discutido:
http://www.forosdelweb.com/f68/duda-...es-php-672440/
http://www.forosdelweb.com/f68/inter...ements-670265/

La clase Zend_Db_Table_Abstract al parecer es abstracta para mantener compatibilidad con versiones anteriores de ZF: http://framework.zend.com/issues/browse/ZF-3486

Saludos
  #3 (permalink)  
Antiguo 26/02/2009, 11:44
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Respuesta: Dudas con classes abstractas e interfaces

Hola GatorV, te agradezco la respuesta, sigo leyendo los otros hilos para alguna vez dominar esto que me gusta tanto :)

Muchas gracias otra vez.
Saludos.
  #4 (permalink)  
Antiguo 26/02/2009, 21:17
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 11 meses
Puntos: 32
Respuesta: Dudas con classes abstractas e interfaces

Cita:
Iniciado por lisandro Arg Ver Mensaje
Hola GatorV, te agradezco la respuesta, sigo leyendo los otros hilos para alguna vez dominar esto que me gusta tanto :)

Muchas gracias otra vez.
Saludos.

Casi te iba a responder con lo mismo que aparece en los links de GatorV (recién los releo), así que sigue la sugerencia y cualquier duda nueva la discutimos aquí
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #5 (permalink)  
Antiguo 27/02/2009, 06:26
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Respuesta: Dudas con classes abstractas e interfaces

Hola Enrique,

Ese ejemplo de la impresora sumado a la explicación son muy buenos, mi duda era si no se podia hacer lo mismo con metodos abstractos, pero esta claro que muchas veces es necesario ese "contrato" entre classes que no se heredan.

Un saludo y buena venta ;)
  #6 (permalink)  
Antiguo 27/02/2009, 06:38
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 11 meses
Puntos: 32
Respuesta: Dudas con classes abstractas e interfaces

Son herramientas para situaciones distintas, enfócate en el concepto de "elementos que hacen lo mismo" versus "elementos que son lo mismo o están emparentados". Lo más genérico es usar interfaces, crear una clase que ofrece un servicio y de la mano su interfaz para quién quiera usar el servicio sepa qué tiene que cumplir para que todo funcione.

Así funciona generalmente Java, así deberíamos diseñar nosotros nuestros componentes.

PD: gracias!
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
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 02:57.