Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvOpCoDg 131 of 147 menu
◀ ▶

Делегирование работы другому объекту в Java

Делегирование означает, что метод класса сам почти ничего не делает, а передает работу другому объекту. Сначала сделаем помощника, который форматирует заголовок:

class Formatter { String title(String text) { return "=== " + text + " ==="; } }

Теперь сделаем класс Post. Он хранит заголовок и объект форматирования:

class Post { private String title; private Formatter formatter; Post(String title, Formatter formatter) { this.title = title; this.formatter = formatter; } }

Добавим метод, который делегирует работу форматтеру. Снаружи вызывают метод записи, а настоящую работу делает объект-помощник:

String showTitle() { return formatter.title(title); }

Проверим результат на объекте записи:

Formatter formatter = new Formatter(); Post post = new Post("News", formatter); System.out.println(post.showTitle());

Такой прием удобен тем, что сложная работа остается в отдельном классе, а основной класс только связывает части программы между собой.

Сделайте класс Counter с полем value и методом inc().

Сделайте класс Stats с полем Counter и методом show(), который выводит текущее значение счетчика.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить