1
resposta

Exercício __set

<?php

namespace Alura\Banco\Modelo;

class Endereco { private $cidade; private $bairro; private $rua; private $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($novaCidade): void{
    $this->cidade = $novaCidade;
}

public function alteraBairro($novBairro): void{
    $this->cidade = $novoBairro;
}

public function alteraRua($novaRua): void{
    $this->cidade = $novaRua;
}

public function alteraNumero($novoNumero): void{
    $this->cidade = $novoNumero;
}

public function __set($nomeAtributo, $value): void{
    $metodo = 'altera' . ucfirst($nomeAtributo);
    $this->$metodo($value);
}

}

------------- ALTERANDO A RUA ----------------

require_once 'autoload.php';

$umEndereco = new Endereco( 'Petrópolis', 'bairro qualquer', 'Minha rua', '71b' ); $outroEndereco = new Endereco( 'Rio', 'Centro', 'Uma rua aí', '50' );

$umEndereco->rua = 'Outra rua'; exit();

1 resposta

Parabéns!