иллюстрировать
1. Объедините два изначально несвязанных класса, а затем используйте методы и атрибуты этих двух классов для вывода нового результата.
2. Структура разделена на абстрактные классы, уточненные абстрактные классы, классы реализации, классы конкретной реализации и клиентский код.
Пример
/** * Цвет абстрактного класса * Класс Цвет */ абстрактный класс Цвет { /** * @return смешанный */ абстрактная публичная функция run(); } /** * Черный * Класс Черный */ класс Черный расширяет цвет { публичная функция run() { // ЗАДАЧА: реализовать метод run(). вернуть «черный»; } } /** *Белый*Класс Белый */ класс Белый расширяет Цвет { публичная функция run() { // ЗАДАЧА: реализовать метод run(). вернуть «белый»; } } /** * Красный * Класс Красный */ класс Red расширяет цвет { публичная функция run() { // ЗАДАЧА: реализовать метод run(). вернуть «красный»; } } /** * Абстрактный класс Shape * Класс Shape */ абстрактный класс Форма { /** * Цвет * @var Цвет */ защищенный $color; /** * Конструктор фигур. * @param Цвет $color */ публичная функция __construct(Цвет $color) { $this->color = $color; } /** * @return смешанный */ абстрактная операция публичной функции(); } /** * Раунд * Классовый раунд */ класс Round расширяет форму { /** * @return mix|void */ операция публичной функции() { // TODO: реализовать метод Operation(). echo $this->color->run() 'circle
'; } } /** * Прямоугольник * Класс Прямоугольник */ класс Rectangle расширяет форму { /** * @return mix|void */ операция публичной функции() { // TODO: реализовать метод Operation(). echo $this->color->run() 'Rectangle
'; } } /** * Квадрат * Квадрат класса */ класс Square расширяет форму { /** * @return mix|void */ операция публичной функции() { // TODO: реализовать метод Operation(). echo $this->color->run() 'square
'; } } // Код клиента // Белый круглый $whiteRound = new Round(new White()); $whiteRound->операция(); // Черный квадрат $blackSquare = new Square(new Black()); $blackSquare->операция(); // Красный прямоугольник $redRectangle = new Rectangle(new Red()); $redRectangle->operation(); //Результат выполнения: белый круг, черный квадрат, красный прямоугольник
Вышеупомянутое представляет собой введение в режим моста PHP. Надеюсь, оно будет полезно всем.