/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/java/java-503-18-023/main.java
30 строк
1 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
abstract class ReportGenerator { protected String title; public ReportGenerator(String title) { this.title = title; } // общая реализация — неизменяемая часть алгоритма public final String generate() { StringBuilder sb = new StringBuilder(); sb.append("=== ").append(title).append(" ===\n"); sb.append(generateHeader()).append("\n"); sb.append(generateBody()).append("\n"); sb.append(generateFooter()); return sb.toString(); } // абстрактные методы — вариативная часть, реализуется в подклассах protected abstract String generateHeader(); protected abstract String generateBody(); protected abstract String generateFooter(); } class SalesReport extends ReportGenerator { public SalesReport() { super("Отчёт по продажам"); } @Override protected String generateHeader() { return "Период: Q3 2025"; } @Override protected String generateBody() { return "Итого: 1 250 000 ₽"; } @Override protected String generateFooter() { return "Подпись: главбух"; } }