Junior
Hogyan valósíthatók meg több konstruktor egy osztályban Kotlinban?
sobes.tech MI
Válasz az MI-től
A Kotlinban több konstruktor létrehozásához a fő konstruktor és szükség esetén egy vagy több mellékes konstruktor használható.
A fő konstruktor közvetlenül az osztály fejlécében van deklarálva:
class MyClass(primaryParam1: String, primaryParam2: Int) {
// Az osztály törzse
}
A mellékes konstruktorokat a constructor kulcsszó segítségével lehet deklarálni:
class MyClass {
// Fő konstruktor (implicit vagy explicit)
constructor(param1: String) {
// A másodlagos konstruktor logikája
}
constructor(param1: String, param2: Int) {
// A másodlagos konstruktor logikája
}
}
Ha az osztálynak van fő konstruktora, akkor minden mellékes konstruktor delegálnia kell a fő konstruktor hívására, a this() kulcsszó használatával:
class MyClass(primaryParam: String) {
constructor(secondaryParam: Int) : this(secondaryParam.toString()) {
// A másodlagos konstruktor logikája
}
}
Továbbá, több mellékes konstruktor is lehet, amelyek a fő vagy más mellékes konstruktorokat delegálják (a delegáció hierarchiájának megfelelően):
class MyClass(primaryParam: String) {
constructor(param1: String, param2: Int) : this(param1) {
// Az első mellékes konstruktor logikája
}
constructor(param1: String, param2: Int, param3: Boolean) : this(param1, param2) {
// A második mellékes konstruktor logikája
}
}
Fontos pontok:
- A fő konstruktor törzse a mellékes konstruktorok törzse előtt hajtódik végre.
- A fő konstruktor fejlécében deklarált tulajdonságok elérhetőek lehetnek a mellékes konstruktorok törzsében.
- Kotlinban ajánlott a fő konstruktor használata, és lehetőség szerint mellékes konstruktorok elkerülése, névvel ellátott argumentumokat vagy gyári metódusokat használva.