설명하다
1. 원래 관련이 없는 두 클래스를 결합한 다음 두 클래스의 메서드와 속성을 사용하여 새로운 결과를 출력합니다.
2. 구조는 추상 클래스, 정제된 추상 클래스, 구현 클래스, 구체적인 구현 클래스 및 클라이언트 코드로 구분됩니다.
예
/** * 색상 추상 클래스 * 클래스 색상 */ 추상 클래스 색상 { /** * @return 혼합 */ 추상 공용 함수 run(); } /** * 블랙 * 클래스 블랙 */ 클래스 블랙 확장 색상 { 공개 함수 실행() { // TODO: run() 메서드를 구현합니다. '검은색'을 반환합니다. } } /** *화이트*클래스 화이트 */ 클래스 화이트 확장 색상 { 공개 함수 실행() { // TODO: run() 메서드를 구현합니다. '흰색'을 반환합니다. } } /** * 레드 * 클래스 레드 */ 클래스 레드 확장 색상 { 공개 함수 실행() { // TODO: run() 메서드를 구현합니다. '빨간색'을 반환합니다. } } /** * 모양 추상 클래스 * 클래스 모양 */ 추상 클래스 모양 { /** * 색상 * @var 색상 */ 보호된 $color; /** * 모양 생성자. * @param 색상 $colour */ 공개 함수 __construct(색상 $colour) { $this->색상 = $색상; } /** * @return 혼합 */ 추상 공용 함수 연산(); } /** * 라운드 * 클래스 라운드 */ 클래스 라운드는 모양을 확장합니다. { /** * @return 혼합|무효 */ 공개 함수 연산() { // TODO: Operation() 메서드를 구현합니다. echo $this->color->run() '원<br>'; } } /** * 직사각형 * 클래스 직사각형 */ 클래스 Rectangle은 Shape를 확장합니다. { /** * @return 혼합|무효 */ 공개 함수 연산() { // TODO: Operation() 메서드를 구현합니다. echo $this->color->run() '직사각형<br>'; } } /** * 정사각형 * 클래스 정사각형 */ 클래스 Square는 Shape를 확장합니다. { /** * @return 혼합|무효 */ 공개 함수 연산() { // TODO: Operation() 메서드를 구현합니다. echo $this->color->run() '사각형<br>'; } } // 클라이언트 코드 // 흰색 라운드 $whiteRound = new Round(new White()); $whiteRound->작업(); // 검은색 정사각형 $blackSquare = new Square(new Black()); $blackSquare->작업(); // 빨간색 사각형 $redRectangle = new Rectangle(new Red()); $redRectangle->작업(); //실행 결과는 흰색 원, 검정색 사각형, 빨간색 사각형입니다.
위 내용은 PHP 브릿지 모드에 대한 소개입니다. 모든 분들께 도움이 되기를 바랍니다.