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

Реклама
Новое
Реклама