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

🗒 Задача

Для программы телефонного справочника создай класс, который будет хранить имя, номер телефона и компанию. Номер телефона – целочисленное значение (Long).

При создании объекта компания может оставаться незаполненной. Вместо пустой строки поле может принимать null.

Все свойства класса не должны иметь инициализации по умолчанию.

❌ Ошибки

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

Класс в данном контексте - это описание будущего конкретного экземпляра. Мы описываем сущность одного контакта. Поэтому множественное название будет уместно разве что для списка контактов, но не для одного конкретного экземпляра.
Тут пустая строка
Для класса без тела не нужны скобки
Нарушено форматирование (пробелы)
В данном случае не нужно добавлять _ перед названием полей, так как это не параметры конструктора, а фактические публичные поля. Нижнее подчеркивание в задачах ранее "подчеркивало", что это внутреннее имя
Концевая (или висящая) запятая после в случае одной строки не очень полезна. Она хорошо работает, когда у нас многострочный конструктор. К примеру, у нас было так:

class Contact(
    val name: String,
    val phone: Int,
    val company: String?,
)

если добавится строка, то станет так:

class Contact(
    val name: String,
    val phone: Int,
    val company: String?,
    val moreInfo: String?,
)

Будет "Добавлена одна строка", а не "изменена одна и добавлена еще одна строка" – так удобнее а PullRequest'ах смотреть.
По умолчанию всегда лучше писать неизменяемую переменную val. изменяемую применяем только, если того требует устройство программы
Если тело не содержит кода, фигурные скобки можно опустить)
Функции всегда обосабливаются пустыми строками. к мейну тоже относится) нужен отступ сверху

🧾 Решение

class PhoneBookEntry(
    val name: String,
    val phoneNumber: Long,
    val company: String?
)