Содержание
- Интерфейсы
- Определение
- Применение
- Реализация
- Наследование
- Синтаксис
- Применение
- Модификатор 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__
-
Разработанные классы должны находиться в пакете
markup
.
Примеры
zipПрактические навыки
- Базовое понимание интерфейсов, наследования и связанных концепций