Junior
Jak zaimplementować wiele konstruktorów w jednej klasie w Kotlinie?
sobes.tech AI
Odpowiedź od AI
W Kotlinie klasa może mieć jeden konstruktor główny i jeden lub więcej konstruktorów pomocniczych.
-
Konstruktor główny: Definiowany jest w nagłówku klasy. Może mieć parametry.
class MojaKlasa(private val jakaśWłaściwość: String) { // Konstruktor główny z parametrem // Ciało klasy } -
Konstruktory pomocnicze: Deklarowane są słowem kluczowym
constructor. Jeśli klasa ma konstruktor główny, każdy konstruktor pomocniczy musi bezpośrednio lub pośrednio delegować do niego, używającthis().class InnaKlasa(private val wartośćPodstawowa: Int) { // Konstruktor główny constructor innaWartość: String) : this(innaWartość.length) { // Konstruktor pomocniczy delegujący do głównego // Logika konstruktora pomocniczego println("Utworzono z łańcucha: $innaWartość") } constructor(wartość1: Int, wartość2: Int) : this(wartość1 + wartość2) { // Kolejny konstruktor pomocniczy // Logika println("Utworzono z dwoma intami: $wartość1, $wartość2") } }
Przy braku konstruktora głównego, konstruktory pomocnicze nie muszą delegować do innych konstruktorów tej samej klasy (ale mogą).
class KlasaBezKonstruktoraGłównego {
constructor(wartość: Int) {
println("Utworzono z int: $wartość")
}
constructor(wartość: String) {
println("Utworzono z łańcucha: $wartość")
}
}