Перейти к содержанию

🗒 Задача

Создай класс, описывающий элемент викторины. В primary конструкторе два текстовых свойства: вопрос и ответ.

Явно пропиши для вопроса геттер, для ответа геттер и сеттер.

❌ Ошибки

✏️ Комментарии

Если основной конструктор пустой — круглые скобки опускаются.
Предлагаю сделать согласно ТЗ. Свойства лучше задавать объекту прямо при его создании – в основном конструкторе. Затем будем этим же свойством инициализировать объявленную в теле класса переменную, где явно для нее прописываем сеттер и геттер. Вспомни как в 12 уроке использовался такой же подход.
Это уже не стандартное поведение сеттера (и геттера ниже). Здесь у тебя собственная реализация, а нужно именно поведение прописать по умолчанию. Такое же, какое создается автоматически под капотом. 

🧾 Решение

class QuizItem(question: String, answer: String) {

    var question: String = question
        get() = field

    var answer: String = answer
        get() = field
        set(value) {
            field = value
        }
}