Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/05/2010, 08:19
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: duda con clases Abstractas y ZF

Adicional a lo que dice @enriqueplace, la idea es que tu puedas comprobar que una clase hereda, o implementa una interfaz para que puedas trabajar con ella y así garantizar una "firma de comportamiento".

Supon que tienes tu clase Persona, y una interfaz que se llame Asalariado, la idea es que los que implementen Asalariado tengan un método getSalario() para poder contar. Ahora supongamos tienes una clase Contabilidad, esta clase por diseño solo acepta personas Asalariadas, pero como distingues si lo que le pasas es una Persona, o una persona Asalariada? Pues puedes usar typehinting:
Código PHP:
Ver original
  1. public function agregaPersona(Asalariada $Persona);

O comprobar dentro de tu función:
Código PHP:
Ver original
  1. if (!($Persona instanceof Asalariada)) {
  2.        throw new Exception('Solo se permite agregar personas Asalariadas');
  3. }

Espero con esto despejarte más tus dudas.

Saludos.