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

Duvida sobre Class


Koyo4ever

Pergunta

Estou estudando PHP e me deparei com Classes e não consigo de jeito nenhum entender, pesquisei e não consigo fazer uma tarefa simples.

Estou tentado somar 2 valores através de uma classe e uma função.

Segue o Código:

<?php

class somar_valores1
{
    public $_n1 = 5;
    public $_n2 = 5;
    public function somar_valores()
      {
          $this->_n1 = $n1;
          $this->_n2 = $n2;
          echo $n1 + $this->$n2;
      }
    
}
somar_valores();    
?>

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

i aew Koyo4ever, bom o erro está em você querer chamar um atributo da classe em um método estático, e outra coisa, quando chamar o seu método estático faça assim:

somar_valores1::somar_valores();

espero que ajude abraço!

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

  • 0

Outro erro é daonde vem as várivais "$n1 & $n2" em tese elas estão vázias ... ai vai outro exemplo e outra forma de 'iniciar a classe'

<?php

class somar_valores1 {
 public $_n1 = 5;
 public $_n2 = 5;

 public function somar_valores() {
  $n1 = $this->_n1;
  $n2 = $this->_n2;
  echo ($n1 + $n2);
 }   
}

$soma = new somar_valores1();
$soma->somar_valores();

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado Pessoal!

Eu gostaria de saber como ficaria se usasse o método do @Romerito:

Eu fui tentar chamar desta forma:

somar_valores1::somar_valores();
e deu um erro.
Fatal error: Using $this when not in object context in C:\xampp\htdocs\charlles\teste.php on line 8

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

  • 0
Obrigado Pessoal!

Eu gostaria de saber como ficaria se usasse o método do @Romerito:

Eu fui tentar chamar desta forma:

somar_valores1::somar_valores();
e deu um erro.
Fatal error: Using $this when not in object context in C:\xampp\htdocs\charlles\teste.php on line 8
foi o que eu falei carinha, você não pode usar atributos da classe em métodos públicos e estáticos, no seu método somar_valores(), você utiliza, $this->, portanto vai dar erro! tenta modificar seu método, deixando assim:
public function somar_valores($n1,$n2) {
  echo ($n1 + $n2);
}   
//chama assim:
somar_valores1::somar_valores(1,2);

falow, abraço!

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,7k
×
×
  • Criar Novo...