1
resposta

Exercicio __Set

O meu ficou assim...

Endereco.php <?php

namespace Alura\Banco\Modelo;

/**

  • Class Endereco

  • @package Alura\Banco\Modelo

  • @property string $cidade

  • @property string $bairro

  • @property string $rua

  • @property string $numero */ class Endereco { private string $cidade; private string $bairro; private string $rua; private string $numero;

    public function __construct(string $cidade, string $bairro, string $rua, string $numero) {

     $this->cidade = $cidade;
     $this->bairro = $bairro;
     $this->rua = $rua;
     $this->numero = $numero;

    }

    public function recuperaCidade(): string {

     return $this->cidade;

    }

    public function recuperaBairro(): string {

     return $this->bairro;

    }

    public function recuperaRua(): string {

     return $this->rua;

    }

    public function recuperaNumero(): string {

     return $this->numero;

    }

    public function alteraCidade(string $cidade): void {

     $this->cidade = $cidade;

    }

    public function alteraBairro(string $bairro): void {

     $this->bairro = $bairro;

    }

    public function alteraRua(string $rua): void {

     $this->rua = $rua;

    }

    public function alteraNumero(string $numero): void {

     $this->numero = $numero;

    }

    public function __toString(): string {

     return "{$this->rua}, {$this->bairro}, {$this->numero}, {$this->cidade}";

    }

    public function __get(string $nomeAtributo) {

     $metodo = 'recupera' . ucfirst($nomeAtributo);
     return  $this->$metodo();

    }

    public function __set(string $nomeAtributo, $valorAtributo): void {

     $metodo = 'altera' . ucfirst($nomeAtributo);
     $this->$metodo($valorAtributo);

    }

}

enderecos.php <?php

use Alura\Banco\Modelo\Endereco;

require_once 'autoload.php';

$umEndereco = new Endereco('Anápolis', 'Cidade Jardim', 'Rua F', '1302'); $outroEndereco = new Endereco('Brasília', 'Varjão', 'Rua 8', '26');

$umEndereco->cidade = 'Minha Cidade 2';

echo $umEndereco->cidade;

1 resposta

Oi, Elias, como vai?

Isso mesmo! Ficou excelente!

Parabéns pelo empenho na resolução dos desafios propostos!

Caso tenha quaisquer comentários ou dúvidas a respeito de alguma aula ou desafio, pode postar aqui no fórum que vamos te responder!

Abraços e bons estudos!