PHP КОМПОЗИЦИЯ АГРЕГАЦИЯ
PHP композиция и агрегация - это концепции ООП, которые помогают создавать более гибкий и поддерживаемый код.
Композиция представляет собой отношение между классами, когда один класс является составной частью другого и не может существовать независимо от него. Например:
class Engine {
private $cylinders;
// конструктор
public function __construct($cyl)
{
$this->cylinders = $cyl;
}
}
class Car {
private $engine;
// конструктор
public function __construct()
{
$this->engine = new Engine(8);
}
}
В этом примере класс Car является композитом для класса Engine - объект класса Engine создаётся в конструкторе класса Car и используется внутри класса.
Агрегация, напротив, описывает отношение, когда один объект содержит ссылку на другой объект (или несколько других объектов), но эти объекты могут существовать независимо друг от друга. Например:
class Book {
private $author;
// конструктор
public function __construct($authorName)
{
$this->author = new Author($authorName);
}
}
class Author {
private $name;
// конструктор
public function __construct($name)
{
$this->name = $name;
}
}
В этом примере класс Book содержит ссылку на класс Author, но объекты этих классов независимы друг от друга, и объект класса Author мог бы использоваться в других местах программы.
Немного практики: замена композиции на агрегирование. PHP
Что такое ООП? Инкапсуляция, полиморфизм, наследование. Объектно ориентированное программирование.
Агрегация и Композиция
Отношения между классами: наследование, композиция, агрегация
Что такое агрегация и композиция. Отношения между классами и объектами. ООП. C++ Для начинающих #97
Композиция и агрегирование как альтернатива наследованию. PHP (OOP)
Композиция Composition vs наследование Inheritance ООП OOP
Global EAM: Часть 6. Графики ППР. Регламентное обслуживание оборудования
Полиморфизм, абстракция в PHP - Базовый курс PHP-7
Наследование в PHP (ООП) - Базовый курс PHP-7