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 line24
Pergunta
micelatos
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:
Resultado do erro:
Notice: Undefined property: Pessoa::$propriedades in C:\wamp64\www\cursoemvideo\phpoo\controlador.php on line 24
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.