1
resposta

Exercício Set

Acabei implementando porém em outro exemplo apenas para exercitar

<?php

namespace Poo\heranca\model;

use Poo\heranca\model\{Marca, Carro};


require_once "Carro.php";
require_once "Marca.php";


/*
* Class Sedan
# @package Poo\heranca\model
* @property-read string $motor
*
*/
class Sedan extends Carro 
{
    private string $motor;
    private float $velocidadeMax;
    private Marca $marca;

    public function __construct($rodas, $portas, string $motor, float $velocidadeMax, Marca $marca){
        parent::__construct($rodas, $portas);
        $this->motor = $motor;
        $this->velocidadeMax = $velocidadeMax;
        $this->marca = $marca;

    }

    public function getMotor(): string
    {
        return $this->motor;

    }

    public function setMotor($motor): string
    {
        return $this->motor = $motor;

    }

    public function __get(string $nomeAtributo)
    {
        $metodo = "get" . ucfirst($nomeAtributo);
        return $this->$metodo();
    }

    public function __toString(): string
    {
        return "o Carro tem o Motor {$this->motor}, e sua velocidade maxima é de: {$this->velocidadeMax} km/h";

    }


    public function __set($alterarAtributo, $atributo): void
    {
        $metodo = "set" . ucfirst($alterarAtributo);
        $this->$metodo($atributo);
    }

} 


echo $Sedan1->motor = "water";
1 resposta

Olá Leandro, tudo bem?

Parabéns pelo exercicio e pelo desempenho no curso, e obrigado por compartilhar sua solução conosco!

Continue assim e bons estudos!