Skip to content
This repository was archived by the owner on Sep 1, 2022. It is now read-only.

Commit 1fb2c51

Browse files
authored
Chapter 11: exercises part
1 parent 11264e7 commit 1fb2c51

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

tutorial/chapter11.adoc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,11 @@
1717
Следующим шагом мы должны определить, что входит в каждый из этих классов. Класс состоит из данных, которые хранятся в каждом его объекте, и функций, работающих с этими данными, причём, как правило, данные становятся закрытыми `private`, а функции остаются открытыми. Подобный принцип называется __инкапсуляцией__ (см. также раздел 8.5). К примеру, для рационального числа данными (свойствами) являются числитель и знаменатель, а функциями -- сложение, вычитание, умножение и деление. Для тренажёра данными могут являться два рациональных числа, над которыми ученик должен выполнить операцию, и ожидаемый результат, а функциями -- случайная генерация этих чисел, проверка правильности результата ученика, подсчёт количества правильных ответов и так далее.
1818

1919
TODO: раздел находится в разработке.
20+
21+
== Упражнения
22+
23+
Откройте каталог `src/lesson11/task1` в проекте. Внутри находится файл с рассмотренным выше примером `Rational.kt`, а также пять других файлов с различными заданиями на проектирование классов с данными. Задания различаются по сложности; самое простое из них находится в файле `Complex.kt`, самое сложное -- в файле `UnsignedBigInteger.kt`. Суть каждого задания описана в заголовочном комментарии класса, плюс дан короткий комментарий к каждой функции класса.
24+
25+
Выберите одно из заданий, которое кажется вам посильным. Замените на реализацию все `TODO()`, которые есть в классе. После этого откройте тесты для данного класса из каталога `test/lesson11/task`. Подумайте над тем, какие из важных случаев рассмотрены тестами, а какие -- нет. Дополните тесты нерассмотренными случаями. После этого запустите тесты для вашего класса и добейтесь их полного прохождения.
26+
27+
При желании вы можете решить второе задание более высокой сложности. Далее переходите к уроку 12.

0 commit comments

Comments
 (0)