Informática, perguntado por alexandreluizbueno, 1 ano atrás

O conceito de herança na orientação a objetos passa a exigir uma análise mais aprodundada a medida que o reuso de funções e propriedades começam também a acontecer com maior frequência em um código. O exemplo abaixo mostra um código com duas classes que possuem a mesma propriedade e método e na classe Teste2 um método tem por objetivo retornar o valor das duas propriedades da classe.

<?php
​class Teste1
{
protected $i = 10;
public function retornaNum() {
return $this->i;
}
}

class Teste2 extends Teste1
{
public $i = 20;
public function retornaNum() {
return $this->i;
}
public function retornaNumTeste1e2() {
return $this->retornaNum() + parent::retornaNum();
}
}

$teste = new Teste2();
$teste->i = 30;

var_dump($teste->retornaNumTeste1e2());
?>

Ao término da execução do método qual será o resultado impresso em tela?
Alternativas
Alternativa 1:
30

Alternativa 2:
40

Alternativa 3:
50

Alternativa 4:
60

Alternativa 5:
Erro do PHP

Soluções para a tarefa

Respondido por waldeyltonns
0

Alternativa 5: ERRO DO PHP

Respondido por edwosgrau
7

Alternativa 4:  60, com certeza

O erro ao executar no PHP é por causa de um caracter oculto no início do texto "?class Teste1" e não por erro no código.

Perguntas interessantes