Sobes.tech
Junior

Kotlin'de bir sınıfta birden fazla yapıcı nasıl uygulanır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Kotlin'de birden fazla yapıcı (constructor) oluşturmak için birincil yapıcı ve gerekirse bir veya daha fazla ikincil yapıcı kullanılır.

Birincil yapıcı, doğrudan sınıf başlığında ilan edilir:

class MyClass(primaryParam1: String, primaryParam2: Int) {
    // Sınıf gövdesi
}

İkincil yapıcılar constructor anahtar kelimesi kullanılarak ilan edilir:

class MyClass {
    // Birincil yapıcı (gizli veya açık)

    constructor(param1: String) {
        // İkincil yapıcı 1'in mantığı
    }

    constructor(param1: String, param2: Int) {
        // İkincil yapıcı 2'nin mantığı
    }
}

Eğer sınıfın bir birincil yapıcı varsa, her ikincil yapıcı, this() anahtar kelimesini kullanarak birincil yapıcıya çağrı yapmalıdır:

class MyClass(primaryParam: String) {

    constructor(secondaryParam: Int) : this(secondaryParam.toString()) {
        // İkincil yapıcı mantığı
    }
}

Ayrıca, birden fazla ikincil yapıcı, birincil yapıcıya veya diğer ikincil yapıcılara delegasyon yapabilir (delegasyon hiyerarşisine uygun olarak):

class MyClass(primaryParam: String) {

    constructor(param1: String, param2: Int) : this(param1) {
        // İkincil yapıcı 1'in mantığı
    }

    constructor(param1: String, param2: Int, param3: Boolean) : this(param1, param2) {
        // İkincil yapıcı 2'nin mantığı
    }
}

Önemli noktalar:

  • Birincil yapıcının gövdesi, ikincil yapıcıların gövdesinden önce çalışır.
  • Birincil yapıcı başlığında tanımlanan özellikler, ikincil yapıcıların gövdesinde erişilebilir olabilir.
  • Kotlin'de, tercihen isimlendirilmiş argümanlar veya fabrika metodları kullanmayı tercih ederek, birincil yapıcıyı kullanmak ve ikincil yapıcıları mümkün olduğunca kullanmaktan kaçınmak önerilir.