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

Interfaces y Clases Abstractas

Estas en el tema de Interfaces y Clases Abstractas en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola a todos. Quisiera hacerles una pregunta que me ha surgido a medida que he ido leyendo y aprendiendo POO. Que diferencias hay entre clases ...
  #1 (permalink)  
Antiguo 14/04/2010, 21:59
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 8 meses
Puntos: 2
Pregunta Interfaces y Clases Abstractas

Hola a todos.

Quisiera hacerles una pregunta que me ha surgido a medida que he ido leyendo y aprendiendo POO.

Que diferencias hay entre clases abstractas e interfaces. Ojala me pudieran explicar teóricamente y con ejemplos, ya que ayudaría mucho en mi aprendizaje.

Saludos
  #2 (permalink)  
Antiguo 14/04/2010, 22: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: Interfaces y Clases Abstractas

Una interfaz solo define métodos que debe de implementar una clase (contrato).

Una clase abstracta puede tener métodos ya definidos y métodos abstractos (es decir métodos que debes de implementar concretamente) para que funcione, por ejemplo:
Código PHP:
Ver original
  1. abstract class sumaabstract
  2. {
  3.         protected $_resultado;
  4.         public function suma($a, $b)
  5.         {
  6.                 $this->_resultado = $a + $b;
  7.         }
  8.  
  9.         abstract public function despliegaResultado();
  10. }
  11.  
  12. class concreteSuma extends sumaabstract
  13. {
  14.         public function despliegaResultado()
  15.         {
  16.                 echo $this->_resultado;
  17.         }
  18. }

Saludos.
  #3 (permalink)  
Antiguo 15/04/2010, 11:43
Avatar de 2102325  
Fecha de Ingreso: octubre-2009
Ubicación: Santo Domingo RD
Mensajes: 75
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Interfaces y Clases Abstractas

Saludos Fenris, yo al igual que me estoy iniciando con esto de PHP y tengo para decirte que hasta donde tengo entendido segun lo que he leido...

Las clase abstractas

Son clases que solo se hacen para que sean heredadas por otras clases es decir nunca intentaras crar un objeto de las clases abstractas, imaginate la clase abstracta Persona{} un cliente, es una persona, un vendedor es una persona, en fin se define persona como abstracta para que las demas herden de ella todos los atributos y metodos comunes... entre ellas...

Las Interfaces

Aqui es diferente aqui no existe la herencia, aqui hay que Implementar si dices si defines una interfaz por ejemplo Manejable que tenga los metodos agregar, modificar, consultar, Todos los objetos que implementen esta interfaz deben obligatoriamente sobreescribir estos metodos....

Espero que hayas aprendido algo, de esto disculpa que no Ilustre con ejemplos

Saludos...

Etiquetas: clases
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:52.