Alguém aí sabe me explicar porque o código abaixo não funciona no PHP5?
Abaixo do código explico direitinho o que acontece.
<?php
class Classe{
private $nome;
private $sobreNome;
public function __construct( $nomeAux ){
$this.$nome = $nomeAux;
echo "<br>O objeto foi criado com o nome: ".$this.$nome;
}
public function __destruct(){
unset( $this );
echo "<br>O objeto ".$this.$nome." foi destruído";
}
public function printNomeCompleto(){
echo "<br>O nome atual é: ".$this.$nome." ".$sobreNome;
}
public function setNome( $nomeAux ){
echo "<br>O novo nome do objeto é ".$this.$nome;
$this.$nome = $nomeAux;
}
public function setSobreNome( $sobreNomeAux ){
echo "<br>O novo sobrenome do objeto é ".$this.$sobreNome;
$this.$sobreNome = $sobreNomeAux;
}
}
$classe = new Classe( "Zé" );
$classe->setNome( "Zéca" );
$classe->setSobreNome( "Urubú" );
$classe->printNomeCompleto();
?>
Bem:
1 - Quando instancia o objeto passando o nome "Zé", o nome não é atribuído à variável $nome, que é atributo privado da classe.
2 - Após ele executar o método setNome( "Zéca" ) ele simplesmente destrói o objeto, sem nenhuma explicação.
Pergunta
Guest Jaumzera
Alguém aí sabe me explicar porque o código abaixo não funciona no PHP5?
Abaixo do código explico direitinho o que acontece.
<?php class Classe{ private $nome; private $sobreNome; public function __construct( $nomeAux ){ $this.$nome = $nomeAux; echo "<br>O objeto foi criado com o nome: ".$this.$nome; } public function __destruct(){ unset( $this ); echo "<br>O objeto ".$this.$nome." foi destruído"; } public function printNomeCompleto(){ echo "<br>O nome atual é: ".$this.$nome." ".$sobreNome; } public function setNome( $nomeAux ){ echo "<br>O novo nome do objeto é ".$this.$nome; $this.$nome = $nomeAux; } public function setSobreNome( $sobreNomeAux ){ echo "<br>O novo sobrenome do objeto é ".$this.$sobreNome; $this.$sobreNome = $sobreNomeAux; } } $classe = new Classe( "Zé" ); $classe->setNome( "Zéca" ); $classe->setSobreNome( "Urubú" ); $classe->printNomeCompleto(); ?>Bem:
1 - Quando instancia o objeto passando o nome "Zé", o nome não é atribuído à variável $nome, que é atributo privado da classe.
2 - Após ele executar o método setNome( "Zéca" ) ele simplesmente destrói o objeto, sem nenhuma explicação.
Desde já, obrigado!
Link para o comentário
Compartilhar em outros sites
3 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.