GABARITO
Exercícios de Fixação – Métodos Mágicos
Questão 1-)
Classe: Representação lógica de uma entidade.
Objeto: Uma coerência específica da classe.
Atributos: Características da classe.
Métodos: Ações que a classe exerce.
Questão 2-)
Está correto, pois o “DRY” significa “Dont't repeat yourself”.
Questão 3-)
Está errado, pois é uma abstração.
Questão 4-)
class assassina{
private $motivo;
public function setMotivo($m){
$this->motivo = $m;
}
public function getMotivo(){
return $this->motivo;
}
}
Questão 5-)
class Dinossauro{
private $especie
public function __ construct ($especie){
this->especie=$especie;
}
$dino = new Dinossauro('Trex');
$dino2 = new Dinossauro('Rosa');
}
Questão 6-)
class Dinossauro{
private $especie
public function __ construct ($especie){
this->especie=$especie;
}
$dino = new Dinossauro('Trex');
$dino2 = new Dinossauro('Rosa');
}
Questão 7-)
Métodos mágicos em PHP são invocados quando trabalhamos com as propriedades e métodos de um
objeto (instância de uma classe).
Exemplo #1
class minhaClasse {
public function __construct (){
echo "Acabamos de criar um objeto";
}
}
Exemplo #2
class minhaClasse {
public function __construct (){
echo "Acabamos de criar um objeto";
}
public function __destruct (){
echo "Nosso objeto foi destruído";
}
}
Exemplo #3
class Pessoa {
// O método __invoke() é chamado quando um script tenta chamar um objeto como uma função.
public function __invoke(){
return true;
}
}
// Instância
$pessoa = new Pessoa;
// Tenta usar como função
if ( $pessoa() ) {
echo 'OK';
}
Exemplo #4
class Pessoa
{
public function __toString() {
return 'Isso é um objeto amigo.';
}
}
// Pessoa
$pessoa = new Pessoa();
// Exibe: Isso é um objeto amigo
echo $pessoa;
Exemplo #5
class Pessoa {
// Propriedades privadas
private $nome = "Luiz";
private $idade = 22;
// __get é invocado quando tentamos acessar uma propriedade protegida ou privada
function __get( $propriedade ) {
return 'Propriedade privada: $this->' . $propriedade .
' = ' . $this->$propriedade;
}
}
// Pessoa
$pessoa = new Pessoa();
// Consigo acessar a propriedade privada por conta do método __get
echo $pessoa->nome; // Propriedade privada: $this->nome = Luiz
Questão 8-)
Quando um método é chamado dentro de um contexto de objeto. Exemplo:
class exemplo{
public $nome;
public $sobrenome;
public $nomecompleto;
$this->nomecompleto = $this->nome." ".$this->sobrenome;
}
Questão 9-)
class carro {
private $velocidade;
private $combustivel;
public function setVelocidade($v){
$this->velocidade = $v;
}
public function getVelocidade(){
return $this->velocidade;
}
public function setCombustivel($c){
$this->combustivel = $c;
}
}
Questão 10-)
Os níveis são:
Public (Público): Visível a todas as classes.
Private (Privado): Visível apenas a classe pertencente.
Protected (Protegido): Apenas a própria classe e as subclasses terão acesso.
Download

gabarito – exercícios de fixação.