Ver Mensaje Individual
  #14 (permalink)  
Antiguo 13/03/2006, 09:47
gnfrs
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años, 1 mes
Puntos: 11
Es sencillo:

Te explico un poco de teoría vieja de C para este caso en particular:

Todas las clases tienen constructores ya sea definidos de forma explícita o implícitos, es decir que el constructor puede ser omitido en la declaración de la clase.

En el caso de PHP si en una clase derivada el constructor es explícito (osea, si está el constructor), cuando se instancie dicha clase, PHP no efectúa una llamada al constructor de la clase base. Pero, por el contrario, si omitiste el constructor de la clase derivada (es decir que no está) PHP llama automáticamente al constructor de la clase base.

Para que te sea más claro sólo necesitás hacer una prueba, por ejemplo:

Código:
class Base {
  function Base() {
    echo "En base<br>";
  }
}

//==== CASO 1 ====
class Derivada1 extends Base {
  function Prueba() {
  }
}

//==== CASO 2 ====
class Derivada2 extends Base {
  function Derivada2() {
  }
}

$a = new Derivada1();
echo "---<br>";
$b = new Derivada2();
En el primer caso se va a imprimir la línea "En base", porque omitiste el constructor de la clase derivada y, por el contrario, en el segundo caso no se va a imprimir esa línea porque el constructor de la clase derivada no llama al constructor de la clase base.

Saludos.