
ilustrar
1. Combine duas classes originalmente não relacionadas e, em seguida, use os métodos e atributos das duas classes para gerar um novo resultado.
2. A estrutura é dividida em classes abstratas, classes abstratas refinadas, classes de implementação, classes de implementação concretas e código cliente.
Exemplo
/**
* Classe abstrata de cores * Classe Cor
*/
classe abstrata Cor
{
/**
* @return misto
*/
função pública abstrata run();
}
/**
* Preto * Classe Preto
*/
classe Preto estende Cor
{
função pública executada()
{
// TODO: Implementar o método run().
retornar 'preto';
}
}
/**
*Branco*Classe Branco
*/
classe Branco estende Cor
{
função pública executada()
{
// TODO: Implementar o método run().
retorne 'branco';
}
}
/**
* Vermelho * Classe Vermelho
*/
classe Vermelho estende Cor
{
função pública executada()
{
// TODO: Implementar o método run().
retornar 'vermelho';
}
}
/**
* Forma de classe abstrata * Forma de classe
*/
classe abstrata Forma
{
/**
*Cor* @var Cor
*/
$cor protegida;
/**
* Construtor de forma.
* @param Cor $cor
*/
função pública __construct(Cor $cor)
{
$this->cor = $cor;
}
/**
* @return misto
*/
operação de função pública abstrata();
}
/**
* Rodada * Rodada de aula
*/
classe Rodada estende Forma
{
/**
* @return misto|void
*/
operação de função pública()
{
// TODO: Implementar o método operation().
echo $this->color->run() .
}
}
/**
* Retângulo * Retângulo de classe
*/
classe Retângulo estende Forma
{
/**
* @return misto|void
*/
operação de função pública()
{
// TODO: Implementar o método operation().
echo $this->color->run() .
}
}
/**
* Quadrado * Quadrado de Classe
*/
classe Quadrado estende Forma
{
/**
* @return misto|void
*/
operação de função pública()
{
// TODO: Implementar o método operation().
echo $this->color->run() .
}
}
// Código do cliente // Rodada branca $whiteRound = new Round(new White());
$whiteRound->operação();
// Quadrado Preto $blackSquare = new Square(new Black());
$blackSquare->operação();
// Retângulo vermelho $redRectangle = new Rectangle(new Red());
$redRectangle->operação();
//O resultado da execução é um círculo branco, um quadrado preto e um retângulo vermelhoO texto acima é uma introdução ao modo bridge do PHP. Espero que seja útil para todos.