Sobes.tech
Junior

Ինչպե՞ս իրականացնել մի քանի կոնստրուկտորներ մեկ դասում Kotlin-ում։

sobes.tech AI

Պատասխան AI-ից

Kotlin-ում դասը կարող է ունենալ մեկ հիմնական կոնստրուկտոր և մեկ կամ մի քանի երկրորդական կոնստրուկտորներ:

  1. Հիմնական կոնստրուկտոր: Դասի վերնագրում է սահմանվում: Կարող է ունենալ պարամետրեր:

    class ԻմԴասը(private val միԱմենակարևորը: String) { // Հիմնական կոնստրուկտոր պարամետրով
        // Դասի մարմինը
    }
    
  2. Երկրորդական կոնստրուկտորներ: Դեկլարարվում են constructor բանալի բառով: Եթե դասը ունի հիմնական կոնստրուկտոր, ապա յուրաքանչյուր երկրորդական կոնստրուկտոր պետք է ուղղակի կամ անուղղակիորեն նրան փոխանցի this()-ի միջոցով:

    class ԱյլԴաս(private val հիմնականԱրժեք: Int) { // Հիմնական կոնստրուկտոր
    
        constructor ուրիշԱրժեք: String) : this(ուրիշԱրժեք.length) { // Երկրորդական կոնստրուկտոր, որը փոխանցում է հիմնականին
            // Երկրորդական կոնստրուկտորի տրամաբանությունը
            println("Ստեղծվել է տողով: $ուրիշԱրժեք")
        }
    
        constructor(արժեք1: Int, արժեք2: Int) : this(արժեք1 + արժեք2) { // Այլ երկրորդական
            // Լոգիկա
            println("Ստեղծվել է երկու ամբողջ թվերով: $արժեք1, $արժեք2")
        }
    }
    

Եթե հիմնական կոնստրուկտոր չկա, ապա երկրորդական կոնստրուկտորները չեն պարտավոր փոխանցել մյուսներին, բայց կարող են:

class ԲանանցԿոնստրուկտորով {

    constructor(արժեք: Int) {
        println("Ստեղծվել է int-ով: $արժեք")
    }

    constructor(արժեք: String) {
        println("Ստեղծվել է տողով: $արժեք")
    }
}