Buenas shinblood, primero darte la bienvenida al mundillo de PHP5 ya era hora q encontrara a alguien q programara en la versión 5. En fin vamos al lío. El problemilla que tienes es bastante facilillo de resolver lo que pasa es que puede ser enreversado si acabas de entrar en los objetos. Primero te pongo el código correctamente y te explico los fallos que tenias.
Código PHP:
<?php
class persona{
protected $_nombre;
function __construct($nom){
$this->_nombre=$nom;
}
public function me_llamo(){
return $this->_nombre;
}
}
class alumno extends persona{
private $_grado;
function __construct($nom){
parent::__construct($nom);
if($nom=="Jorge")
$this->_grado="5A";
}
public function mi_grado(){
echo "Me llamo: ". $this->_nombre." y estoy en ".$this->_grado;
}
}
$perso1 = new alumno("Jorge");
$perso1->mi_grado();
?>
Bien ahora ya ejecuta, cuando tu extiendes de una clase padre los atributos protected se heredan y son accesibles desde la clase hija solo tienes que acceder como con un atributo normal $this-><nombre_atributo>. Nada de parent::
En fin que sepas q tambíén puedes utilizar el metodo __toString() para mostrar una cadena por ejemplo añade este método mágico a tu metodo mi_grado.
Código PHP:
public function __toString(){
return "Me llamo: ". $this->_nombre." y estoy en ".$this->_grado;
}
Y podrás mostrar el mismo mensaje solo con hacer un echo del objeto en question:
Código PHP:
echo $perso1;