Вторичный конструктор в Kotlin
Вторичный конструктор - ещё один способ создать объект,
когда первичный конструктор уже задан. Его пишут в теле
класса словом constructor и обязательно связывают
с первичным через this:
class Employee(val name: String, val salary: Int) {
constructor(name: String) : this(name, 0)
}
Короткий вызов попадает во вторичный конструктор, а тот передаёт имя и ноль в первичный. Свойства создаёт только первичный конструктор:
fun main() {
val employee = Employee("ann")
println(employee.name)
println(employee.salary)
}
Тело вторичного конструктора выполняется после init.
К этому моменту первичный конструктор уже записал свойства:
class Employee(val name: String, val salary: Int) {
init {
println(salary)
}
constructor(name: String) : this(name, 0) {
println(name)
}
}
fun main() {
Employee("ann")
}
Сделайте класс Product с названием и ценой
в первичном конструкторе. Добавьте вторичный
конструктор только с названием: цена при этом
равна 0.
Создайте товар коротким вызовом со строкой
"pen" и выведите название и цену.