Considere o seguinte script PHP: A execução desse script pro...

Próximas questões
Com base no mesmo assunto
Q754482 Programação

Considere o seguinte script PHP:

Imagem associada para resolução da questão

A execução desse script produz como resultado a sequência:

Alternativas

Comentários

Veja os comentários dos nossos alunos

Eu desconfiei que o resultado fosse [ALFA] [8] (FORA) (FORA) (FORA) e fui testar.

Foi exatamente o que eu imaginei. 

Estou fazendo algo errado?? 

Segue o código pra testar.


 


class ALFA
{
    private $class_id = 3;
    function ALFA($inc=9)
    {
        $this -> class_id += $inc;
    }
    
    function principal()
    {
      if(isset($this)){
          echo '['.get_class($this)."]\n";
          echo '('.$this->class_id.")\n";
      }else{
          echo "(FORA)\n";
      }
  }
}

//(continuacao)

class BETA
{
    public $class_id=4;
    
    function auxiliar()
    {
        ALFA::principal();
    }
}

$alfa = new ALFA(5);
$beta = new BETA();

$alfa -> principal();
ALFA::principal();
$beta->auxiliar();
BETA::auxiliar();
?>

Em PHP 7 a saída é essa que você colocou mesmo; mas em PHP 5 a questão está correta.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo