🗒 Задача¶
Для программы телефонного справочника создай класс, который будет хранить имя, номер телефона и компанию. Номер телефона – целочисленное значение (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. изменяемую применяем только, если того требует устройство программы