tengo clases primarias y secundarias de la siguiente manera:acceder a las propiedades de los padres y los métodos sobrescritos en PHP
abstract class ParentObj {
private $data;
public function __construct(){
$this->data = array(1,2,3);
var_dump($this->data);
$this->method();
}
public function method(){
echo "ParentObj::method()";
}
}
class ChildObj extends ParentObj {
public function __construct(){
parent::__construct();
var_dump($this->data);
}
public function method(){
echo "ChildObj::method()";
}
}
El resultado esperado:
array(1,2,3)
ChildObj::method()
array(1,2,3)
La salida real:
array(1,2,3)
ParentObj::method()
NULL
El El problema es que el objeto hijo no puede acceder a la propiedad de datos y el padre se niega a llamar al método reemplazado en el archivo chil re.
¿Estoy haciendo algo mal, o alguien tiene alguna idea?
EDIT: Debo aclarar que estoy instancias de un ChildObj como $child = new ChildObj()
De acuerdo, cambiando las correcciones privadas a las protegidas, el acceso a la propiedad. –