Конструктор при наследовании в Kotlin
У родителя параметры конструктора задают в заголовке класса. Потомок передаёт нужные аргументы родителю после двоеточия:
open class User(
private val name: String,
private val surn: String
) {
fun getName(): String = name
fun getSurn(): String = surn
}
Пустой потомок вызывает конструктор родителя без своих полей:
class Student(name: String, surn: String) : User(name, surn)
Добавим в Employee зарплату - сначала передаём
имя и фамилию в User, затем сохраняем зарплату:
class Employee(
name: String,
surn: String,
private val salary: Int
) : User(name, surn) {
fun getSalary(): Int = salary
}
Создание объекта передаёт все параметры:
fun main() {
val employee = Employee("john", "smith", 1000)
println(employee.getName())
println(employee.getSalary())
}
Пусть класс Employee наследует
от класса User из данного
урока.
Переопределите в классе Employee
конструктор родителя, добавив в него
параметры с возрастом и зарплатой.
Сделайте геттеры для возраста и зарплаты.