veranschaulichen
1. Kombinieren Sie zwei ursprünglich nicht verwandte Klassen und verwenden Sie dann die Methoden und Attribute in den beiden Klassen, um ein neues Ergebnis auszugeben.
2. Die Struktur ist in abstrakte Klassen, verfeinerte abstrakte Klassen, Implementierungsklassen, konkrete Implementierungsklassen und Clientcode unterteilt.
Beispiel
/** * Abstrakte Farbklasse * Klassenfarbe */ abstrakte Klasse Farbe { /** * @return gemischt */ abstrakte öffentliche Funktion run(); } /** * Schwarz * Klasse Schwarz */ Klasse Schwarz erweitert Farbe { öffentliche Funktion run() { // TODO: Run()-Methode implementieren. return 'schwarz'; } } /** *Weiß*Klasse Weiß */ Klasse Weiß erweitert Farbe { öffentliche Funktion run() { // TODO: Run()-Methode implementieren. return 'white'; } } /** *Rot* Klasse Rot */ Klasse Rot erweitert Farbe { öffentliche Funktion run() { // TODO: Run()-Methode implementieren. return 'rot'; } } /** * Abstrakte Klasse formen * Klassenform */ abstrakte Klasse Shape { /** * Farbe * @var Farbe */ protected $color; /** * Formkonstruktor. * @param Farbe $Farbe */ öffentliche Funktion __construct(Color $colour) { $this->color = $color; } /** * @return gemischt */ abstrakte öffentliche Funktion operation(); } /** * Runde * Klassenrunde */ Klasse Round erweitert Shape { /** * @return gemischt|void */ öffentliche Funktion operation() { // TODO: Operation()-Methode implementieren. echo $this->colour->run() 'circle<br>'; } } /** * Rechteck * Klasse Rechteck */ Die Klasse „Rectangle“ erweitert „Shape“. { /** * @return gemischt|void */ öffentliche Funktion operation() { // TODO: Operation()-Methode implementieren. echo $this->colour->run() . 'Rectangle<br>'; } } /** * Quadrat * Klassenquadrat */ Klasse Square erweitert Shape { /** * @return gemischt|void */ öffentliche Funktion operation() { // TODO: Operation()-Methode implementieren. echo $this->colour->run() 'square<br>'; } } // Client-Code // Weiße Runde $whiteRound = new Round(new White()); $whiteRound->operation(); // Schwarzes Quadrat $blackSquare = new Square(new Black()); $blackSquare->operation(); // Rotes Rechteck $redRectangle = new Rechteck(new Red()); $redRectangle->operation(); //Das laufende Ergebnis ist ein weißer Kreis, ein schwarzes Quadrat und ein rotes Rechteck
Das Obige ist eine Einführung in den PHP-Bridge-Modus. Ich hoffe, dass es für alle hilfreich ist.