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 vermelho
O texto acima é uma introdução ao modo bridge do PHP. Espero que seja útil para todos.