Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/03/2006, 09:15
gnfrs
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años, 1 mes
Puntos: 11
Supongamos que la clase padre se llama "A" y la clase hija se llama "B".

En la clase "A" vas a tener el constructor "A()", al igual que en la clase "B" vas a tener el constructor "B()".

Los detalles que debés tener en cuenta son:

* Cuando instanciás un objeto de la clase "B" se llama al constructor de la clase base implícitamente sólo si "B" no posee constructor. Por el contrario, si escribís el constructor de la clase "B" tenés que llamar al constructor de la clase base con parent::A();.
* También lo podés llamar mediante el operador $this, pero en este caso, si llegás a sobreescribir el método "A()" en la clase "B" esa línea va a llamar al método "A()" de la clase derivada "B".

En resúmen:
parent te sirve para llamar a un método de una clase base, aunque ese método se haya sobreescrito en la clase derivada y, por el contrario, $this llama a los métodos del objeto derivado en todos los casos, ya sean métodos heredados, métodos sobreescritos o métodos propios de la clase derivada.

Salduos y espero que te sirva de ayuda.