PHP - Me sale NULL al llamar a funcion de Clase padre

 
Vista:
Imágen de perfil de facundo

Me sale NULL al llamar a funcion de Clase padre

Publicado por facundo (185 intervenciones) el 07/08/2017 22:50:17
Buenas, les paso el codigo y abajo les explico

1
2
3
4
5
6
7
8
class Usuario
{
private $nickname;
public function getNickname()
	{
		return $this->nickname;
	}
}
1
2
3
4
5
6
7
8
9
10
class UsuarioAdministrador extends Usuario
{
	public function __construct()
	{
        $this->nickname = 'pepe';
	}
 public function getNickname()
    {
        return parent::getNickname();
    }

$admin = new UsuarioAdministrador();
EL problema es que cuando hago un echo de $admin->getNickname(); no me sale nada, y con un var_dump de esto me aparece NULL...
Pero... si hago un var_dump de $admin.... de esta forma me aparece el nickname.
Probé tambien sin redefinir la funcion en la clase hija pero pasa lo mismo...

Estoy haciendo algo mal o que puede llegar a estar pasando?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Me sale NULL al llamar a funcion de Clase padre

Publicado por kip (877 intervenciones) el 08/08/2017 00:38:42
Hola, el problema esta en que la propiedad nickname de la clase padre la declaras como privada en lugar de protected para que la clase hija pueda heredarla y acceder a ella o modificarla.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Usuario
{
    protected $nickname;
    public function getNickname()
	{
		return $this->nickname;
	}
}
 
class UsuarioAdministrador extends Usuario
{
	public function __construct()
	{
        $this->nickname = 'pepe';
	}
    public function getNickname()
    {
        return parent::getNickname();
    }
}
 
$admin = new UsuarioAdministrador();
 
echo $admin->getNickname();

Pruebalo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de facundo

Me sale NULL al llamar a funcion de Clase padre

Publicado por facundo (185 intervenciones) el 08/08/2017 00:45:48
Uff,, era tan sencillo y me estaba recontra enroscando. Me funciono. Gracias por tu ayuda. Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar