Hugão Postado Abril 2, 2012 Denunciar Share Postado Abril 2, 2012 (editado) Fala galera beleza?Estou estudando PHP OO, alguém pode me ajudar com a dúvida abaixo?Criei uma classe Conta.class.php, ela tem os métodos: construtor, destrutor, Retirar, Depositar e ObterSaldo.Agora, por que no método construtor o exemplo fez chamada somente aos métodos Depositar e ao atributo $Cancelada?Segue o código:<?PHP class Conta{ var $Agencia; var $Codigo; var $DataCriacao; var $Titular; var $Senha; var $Saldo; var $Cancelada; //Método construtor. function __construct($Agencia, $Codigo, $DataCriacao, $Titular, $Senha){ $this->Agencia = $Agencia; $this->Codigo = $Codigo; $this->DataCriacao = $DataCriacao; $this->Titular = $Titular; $this->Senha = $Senha; //Chamada a outro método da classe Conta. $this->Depositar(); $this->Cancelada = FALSE; } //Método destrutor. function __destruct(){ echo "Objeto Conta {$Conta->Codigo = $Codigo} de {$conta_hugo->Titular->Nome} finalizada. \n"; } //Metodos Retirar dinheiro //diminui saldo em $quantia. function Retirar($quantia(){ if($quantia > 0){ $this->Saldo -= $quantia; } } //Método obter Depositar //aumenta saldo em $quantia. function Depositar($quantia){ if($quantia > 0){ $this->Saldo += $quantia; } } //Método ObterSaldo. function Obtersaldo(){ $this->Saldo; } } ?> Editado Abril 2, 2012 por Hugão Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kakashi_cafe Postado Abril 2, 2012 Denunciar Share Postado Abril 2, 2012 (editado) Olá ,Bom , não sei até onde voce aprendeu de OO mais .. metodo construtor pode se dizer que vai dar os dados iniciais da sua aplicação. ou seja vai construir o objeto a partir dos dados que voce passou quando instacia essa classe que possui o metodo construtor .. por exemplo. //Método construtor. function __construct($Agencia, $Codigo, $DataCriacao, $Titular, $Senha){ $this->Agencia = $Agencia; $this->Codigo = $Codigo; $this->DataCriacao = $DataCriacao; $this->Titular = $Titular; $this->Senha = $Senha; } teste = new Conta ("123","1000","20/02/2012","Teste","123456");ou seja voce instancia a classe passando o valores iniciais que essa classe vai usar."Agora, por que no método construtor o exemplo fez chamada somente aos métodos Depositar e ao atributo $Cancelada?"Simples .. perceba que voce esta utilizando //Chamada a outro método da classe Conta. $this->Depositar(); $this->Cancelada = FALSE; logicamente ele vai criar o objeto com apenas essas dois metodos iniciais , pois foi os metodos que voce declarou dentro do construtor. Editado Abril 2, 2012 por kakashi_cafe Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Willian Gustavo Veiga Postado Abril 3, 2012 Denunciar Share Postado Abril 3, 2012 Uma boa prática é fazer com que o construtor cumpra com a sua responsabilidade: Construir um objeto pronto para o uso. Ponto final. Se quiser, leia este artigo.O kakashi_cafe mostrou um construtor que cumpre com a sua responsabilidade (repetindo o código)://Método construtor. function __construct($Agencia, $Codigo, $DataCriacao, $Titular, $Senha){ $this->Agencia = $Agencia; $this->Codigo = $Codigo; $this->DataCriacao = $DataCriacao; $this->Titular = $Titular; $this->Senha = $Senha; }logicamente ele vai criar o objeto com apenas essas dois metodos iniciais , pois foi os metodos que voce declarou dentro do construtor.Não sei se entendi bem a sua colocação, mas ele não vai criar apenas esses métodos no objeto. Ele simplesmente chamou o método "Depositar" e atribuiu um valor para a propriedade do objeto "Cancelada". Desculpa se entendi errado kakashi_cafe,Um abraço. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kakashi_cafe Postado Abril 3, 2012 Denunciar Share Postado Abril 3, 2012 Uma boa prática é fazer com que o construtor cumpra com a sua responsabilidade: Construir um objeto pronto para o uso. Ponto final. Se quiser, leia este artigo.O kakashi_cafe mostrou um construtor que cumpre com a sua responsabilidade (repetindo o código)://Método construtor. function __construct($Agencia, $Codigo, $DataCriacao, $Titular, $Senha){ $this->Agencia = $Agencia; $this->Codigo = $Codigo; $this->DataCriacao = $DataCriacao; $this->Titular = $Titular; $this->Senha = $Senha; }logicamente ele vai criar o objeto com apenas essas dois metodos iniciais , pois foi os metodos que voce declarou dentro do construtor.Não sei se entendi bem a sua colocação, mas ele não vai criar apenas esses métodos no objeto. Ele simplesmente chamou o método "Depositar" e atribuiu um valor para a propriedade do objeto "Cancelada". Desculpa se entendi errado kakashi_cafe,Um abraço.Realmente foi falha minha .. me expressei mal na questao "cria apenas ". Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Hugão
Fala galera beleza?
Estou estudando PHP OO, alguém pode me ajudar com a dúvida abaixo?
Criei uma classe Conta.class.php, ela tem os métodos: construtor, destrutor, Retirar, Depositar e ObterSaldo.
Agora, por que no método construtor o exemplo fez chamada somente aos métodos Depositar e ao atributo $Cancelada?
Segue o código:
Editado por HugãoLink 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.