Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Exemplo de composição mais simples em Php que encontrei na internet

A alternativa a usar herança indiscriminadamente é a composição. Em vez de dizer que um objeto "é um" (herança), você faz com que ele "tenha um" (composição). Isso permite que você reutilize o comportamento de outras classes sem herdar métodos indesejados.

Vamos criar uma classe Carro que tem um motor (Motor). Em vez de herdar o motor, o carro terá um motor como parte de sua composição.

<?php

class Motor {
    private $potencia;

    public function __construct($potencia) {
        $this->potencia = $potencia;
    }

    public function ligar() {
        return "Motor de " . $this->potencia . " cavalos ligado!";
    }
}

// Definindo a classe Carro que "tem um" Motor
class Carro {
    private $motor;

    public function __construct(Motor $motor) {
        $this->motor = $motor; // O carro "tem um" motor
    }

    public function ligarCarro() {
        return $this->motor->ligar();
    }
}


$meuMotor = new Motor(150);

// Criando um objeto do tipo Carro, passando o motor
$meuCarro = new Carro($meuMotor);

// Ligando o carro (que internamente liga o motor)
echo $meuCarro->ligarCarro();
?>
1 resposta
solução!

Muito bom maria!