Все классы в языке Kotlin наследуют из класса Any, но по мере необходимости можно также указать класс как производный (дочерний, класс потомок; далее в тексте производный) от любого другого класса.
Чтобы указать суперкласс необходимо название суперкласса написать после двоеточия:
open class Parent(param: Int)
class Derived(param: Int) : Parent(param)
Если необходимо передать аргументы базовому классу, их надо принять в производном классе и при указании базового класса передать необходимые его конструктору.
Если в производном классе нет первостепенного конструктора, тогда все второстепенные конструкторы должны получить и передать необходимые аргументы базовому классу путём вызова функции super, что является вызовом конструктора родительского класса. Если второстепенные конструкторы используются только для передачи полученных параметров базовому классу и не используются какие-либо расчёты писать тело этих функций необязательно:
class MyView : View {
constructor(context: Context) : super(context)
constructor(context: Context, attrs: AttributeSet) : super(context, attrs)
}
Реклама