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

POO> Poque ele não acha meu meu método getter?


AndréSAP

Pergunta

É o seguinte, o método ehIgual() deve comparar uma data informada com uma que vem por parametro e retornar verdadeiro caso seja igual. Porém, ele mostra o erro Call to undefined function getDia(). Vai aí meu código:

<?php

// ------------------------------------------------------------
// Classe para controlar uma data (dd/mm/aaaa) e suas operações
// ------------------------------------------------------------
class Data  {

    // atributos da classe
    private $dia;
    private $mes;
    private $ano;
    
    // --------------------------------------------------
    // metodo construtor da classe
    // --------------------------------------------------
    public function Data($d,$m,$a) {
        if (($m >=1) && ($m <=12)){
            if ($m == 2){
                if (($d >=1) && ($d<=28)){
                    $this->setDia($d);
                }
            }
            elseif (($m == 4) or ($m == 6) or ($m == 9) or ($m == 11)) {
                if (($d >=1) && ($d<=30)){
                    $this->setDia($d);
                }
            }
            if (($m == 1) or ($m == 3) or ($m == 5) or ($m == 7) or ($m == 8) or ($m == 10) or ($m == 12)) {
                if (($d >=1) && ($d<=31)){
                    $this->setDia($d);
                }
            }
            $this->setMes($m);
        }
        $this->setAno($a);
    }
    
    // -------------------------------------------------------------------
    // Rotinas get/set
    // -------------------------------------------------------------------
    public function setMes($m) {
            $this->mes = $m;
    }
    public function setDia($d) {
            $this->dia = $d;
    }
    public function setAno($a) {
        $this->ano = $a;
    }

    public function getDia() {
        return $this->dia;
    }
    public function getMes() {
        return $this->mes;
    }
    public function getAno() {
        return $this->ano;
    }


    //MÉTODO AO QUAL ME REFIRO
    public function ehIgual($novo_dia,$novo_mes,$novo_ano){
        if ((getDia() == $novo_dia) && (getMes() == $novo_mes)&& (getAno() == $novo_ano)) {
            return true;
        }
    }
}

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Se eu não me engano, no Java o this é implícito, ou seja, não é obrigatório. Só se você quiser utilizar uma variável com o mesmo nome de uma propriedade.

Um abraço.

É exatamente isso Willian, o que quis dizer é que no PHP o uso do this é obrigatório. No Java até tem sim, e eu particulamente coloco ele em tudo, mas fui na onda de que não era necessário e fiquei com a dúvida.

Bom, valeu, já consegui solucionar me problema.

Link para o comentário
Compartilhar em outros sites

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...