Ir para conteúdo
Fórum Script Brasil
  • 0

Array associativo não encontrado em classe extendida


micelatos

Pergunta

Olá pessoal, estou com uma dúvida em relação ao PHP OO. A mesma segue abaixo:
Eu criei um código que possui uma classe abstrata chamada Animal com um array associativo em seu interior. 
Em seguida criei uma segunda classe denominada Pessoa que herda as qualidades e métodos da mesma citada acima.
Porém quero adicionar no final do array (que aparentemente só existe na classe Animal) um novo valor, porém o array não
é encontrado nem usando $this->valor nem usando apenas $valor. Abaixo segue o código:
 

abstract class Animal{
  private $propriedades = array("nome"=>"",
                                "peso"=>0,
                                "sexo"=>"",
                                "altura"=>0,
                                "classe"=>"");
  public function getInfo($indexKey)  { return $this->propriedades[$indexKey]; }
  public function setNome($nome)    { $this->propriedades['nome'] = $nome; }
  public function setSexo($sexo)    { $this->propriedades['sexo'] = $sexo; }
  public function setPeso($peso)    { $this->propriedades['peso'] = $peso; }
  public function setAltura($altura){ $this->propriedades['altura'] = $altura; }
  public function setClasse($classe){ $this->propriedades['classe'] = $classe; }
  public function showInfos(){ foreach ($this->propriedades as $i) { echo $i."<br>"; } }
}//Class Final

class Pessoa extends Animal{
  //$propriedades[] = 'estado' // Objeto não encontrado
  public function teste(){
    echo $this->propriedades['nome']; //  fiz este teste para ver se o objeto era encontrado porém.
  }
}

$pessoa = new Pessoa();
$pessoa->setNome("Dener Eduardo");
$pessoa->setSexo("M");
$pessoa->setPeso(68);
$pessoa->setAltura(1.76);
$pessoa->setClasse("Humano");
//$pessoa->setEstadoCivil("Solteiro");
$pessoa->teste();
//$pessoa->showInfos();



Resultado do erro:

Notice: Undefined property: Pessoa::$propriedades in C:\wamp64\www\cursoemvideo\phpoo\controlador.php on line 24

 

Editado por micelatos
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...