Junior
Kotlin'de companion object hakkında bilgi ver.
sobes.tech yapay zeka
AI'dan gelen yanıt
Kotlin'de companion object, sınıfın tüm örnekleriyle ortak olan (özellikler ve fonksiyonlar) sınıf üyelerini tanımlamak ve bunlara sınıf örneği oluşturmadan erişmek için kullanılır. Temelde Java'daki statik üyelerin karşılığıdır, ancak sınıf içinde bir nesne olarak uygulanmıştır.
Ana özellikler:
- Tek örnek: Bir sınıf içinde yalnızca bir
companion objectolabilir. - Başlatma: Sınıf ilk yüklendiğinde başlatılır.
- Özel üyelere erişim: Dış sınıfın özel üyelerine erişim sağlar.
- İsimlendirme: Varsayılan olarak
Companionadını alır, ancak açıkça isimlendirilebilir. - Arayüzleri uygulama: Arayüzleri uygulayabilir.
Kullanım örneği:
class MyClass {
companion object {
const val TAG = "MyClass" // Sabit
fun createInstance(): MyClass { // Fabrika metodu
return MyClass()
}
}
fun doSomething() {
println("Bir şeyler yapılıyor...")
}
}
fun main() {
println(MyClass.TAG) // companion object üyesine erişim
val instance = MyClass.createInstance() // Fabrika metodunun kullanımı
instance.doSomething()
}
Avantajlar:
- Daha semantik: İlgili "statik" üyeleri tek bir yerde gruplandırmaya olanak tanır.
- Esneklik: Arayüzleri uygulayabilir, bu da tasarım desenleri için faydalıdır.
- Özel üyelere erişim: Fabrika metodları ve singleton'ların sınıf içinde uygulanmasını kolaylaştırır.