No código a seguir
01: class Cliente {
02: public $nome;
03: protected $saldo;
04: }
05: class Pessoa extends Cliente {
06: private $idade;
07: $this->saldo = 0;
08: }
09: $cli = new Pessoa;
10: $cli->nome = “Pedro”;
11: $cli->saldo = 3000;
12: $cli->idade = 35;
Quais linhas retornariam erro ?
a) 06 e 07
b) 09, 11 e 12
c) 11 e 12
d) Nenhuma linha dá erro. Todas estão corretas.
Explicação pf
Soluções para a tarefa
Respondido por
1
11 e 12 retornariam erro
Primeiro porque a variável $cli é do tipo Pessoa
O tipo Pessoa é herdada da classe Cliente (devia ser ao contrário mas tudo bem).
A classe Cliente tem dois atributos
$nome e $saldo
Acontece que $saldo é protegido. Significa que só um método pode modificá-lo. A tentativa de atribuição direta ao saldo na linha 11 dá erro por causa disso.
A classe Pessoa tem um atributo $idade, além do atributo herdado da classe Cliente. Acontece que esse atributo é privado. Não pode ser acessado de fora a não por um método (setter). Portanto a linha 12 também dá erro.
Bom, além disso a linha 7 dá erro pois ela está atribuindo um valor ao atributo $saldo, que é protegido na classe Cliente e ainda por cima fora do método.
Primeiro porque a variável $cli é do tipo Pessoa
O tipo Pessoa é herdada da classe Cliente (devia ser ao contrário mas tudo bem).
A classe Cliente tem dois atributos
$nome e $saldo
Acontece que $saldo é protegido. Significa que só um método pode modificá-lo. A tentativa de atribuição direta ao saldo na linha 11 dá erro por causa disso.
A classe Pessoa tem um atributo $idade, além do atributo herdado da classe Cliente. Acontece que esse atributo é privado. Não pode ser acessado de fora a não por um método (setter). Portanto a linha 12 também dá erro.
Bom, além disso a linha 7 dá erro pois ela está atribuindo um valor ao atributo $saldo, que é protegido na classe Cliente e ainda por cima fora do método.
Perguntas interessantes
Geografia,
8 meses atrás
Matemática,
8 meses atrás
Matemática,
8 meses atrás
Matemática,
1 ano atrás
História,
1 ano atrás
Matemática,
1 ano atrás
Português,
1 ano atrás