Middle
Kotlin'da 'obyekt ifodalar' va 'obyekt e'lonlari' nima?
sobes.tech AI
AIdan javob
Obyekt ifodalar (anonim obyektlar) nomli sinflardan obyektlar yaratish uchun ishlatiladi. Ular bir martalik interfeyslarni amalga oshirish yoki bir nusxada sinflardan meros olish uchun foydalidir. Sintaks object : <turi(lar)>.
Obyekt deklaratsiyalari (obyekt deklaratsiyalari) singleton yaratadi. Bu yagona nusxa bilan sinf bo‘lib, global ravishda uning nomi bilan kirish mumkin. Sintaks object <nom>.
Taqqoslash jadvali:
| Xususiyat | Obyekt ifodalari | Obyekt deklaratsiyalari |
|---|---|---|
| Maqsad | Anonim obyekt yaratish | Singleton yaratish |
| Foydalanish | Mahalliy, ifoda yoki funktsiyalar ichida | Umumiy foydalanish, obyekt nomi bilan |
| Nusxa yaratish | Har foydalanishda yangi nusxa | Birinchi kirishda bitta nusxa |
| Nomlash | Anonim | Nomlangan |
| Qo‘llash | Bir martalik voqea tinglovchilari, adapterlar | Yordamchilar, konfiguratsiyalar, holat saqlash |
Obyekt ifodasi misoli:
// "Jonli" bosish hodisasi uchun handler yaratish
button.setOnClickListener(object : View.OnClickListener {
override fun onClick(v: View?) {
// Bosish harakati
}
})
Obyekt deklaratsiyasi misoli:
// Log yozish uchun singleton obyekt deklaratsiyasi
object Logger {
fun log(message: String) {
println(message)
}
}
// Singletondan foydalanish
fun processData(data: String) {
Logger.log("Ma'lumotlar ishlanmoqda...")
// Ma'lumotlarni ishlash
}