Содержание
- Интерфейсы
- Определение
- Применение
- Реализация
- Наследование
- Синтаксис
- Применение
- Модификатор protected
- Пакеты
- Синтаксис
- Применение
Домашнее задание 7. Разметка
- Разработайте набор классов для текстовой разметки.
-
Класс
Paragraph– абзац текста. Может содержать произвольное число других элементов разметки и текстовых элементов. -
Класс
Text– текстовый элемент. -
Классы разметки
Emphasis,Strong,Strikeout– выделение, сильное выделение и зачеркивание. Элементы разметки могут содержать произвольное число других элементов разметки и текстовых элементов. -
Все классы должны реализовывать метод
toMarkdown(StringBuilder), который должен генерировать Markdown-разметку по следующим правилам:- текстовые элементы выводятся как есть;
-
выделенный текст окружается символами '
*'; -
сильно выделенный текст окружается символами '
__'; -
зачеркнутый текст окружается символами '
~'.
-
Следующий код должен успешно компилироваться:
Paragraph paragraph = new Paragraph(List.of( new Strong(List.of( new Text("1"), new Strikeout(List.of( new Text("2"), new Emphasis(List.of( new Text("3"), new Text("4") )), new Text("5") )), new Text("6") )) ));Вызовparagraph.toMarkdown(new StringBuilder())должен заполнять переданныйStringBuilderследующим содержимым:__1~2*34*5~6__ -
Добавьте класс
Main, проверяющий выполнение предыдущего пункта. -
Разработанные классы должны находиться в пакете
markup.
Примеры
zipПрактические навыки
- Базовое понимание интерфейсов, наследования и связанных концепций