Sobes.tech
Junior — Middle

Може ли да се дефинира клас в Kotlin с няколко конструктора?

sobes.tech AI

Отговор от AI

Да, в Kotlin може да се дефинира клас с няколко конструктора. За това се използва един основен (primary) конструктор и един или няколко вторични (secondary) конструктора.

Основният конструктор се обявява в заглавието на класа, а вторичните — вътре в тялото на класа с ключовата дума constructor.

Пример:

class User(val name: String) {
    var age: Int = 0

    // Вторичен конструктор
    constructor(name: String, age: Int) : this(name) {
        this.age = age
    }
}

Тук основният конструктор приема name, а вторичният — name и age. Вторичният конструктор извиква основния чрез : this(name) и инициализира допълнителното свойство.