Sobes.tech
Middle

Kas yra 'objekto išraiškos' ir 'objekto deklaracijos' Kotlin?

sobes.tech AI

Atsakymas iš AI

Objekto išraiškos (anoniminiai objektai) naudojamos kuriant anoniminius klasių objektus. Jie naudingi įgyvendinant vienkartinius sąsajos ar paveldėjimo iš klasių atvejus viename egzemplioriuje. Sintaksė object : <tipas(-ai)>.

Objekto deklaracijos (objektų deklaracijos) sukuria singleton'ą. Tai klasė su vienu egzemplioriumi, kuris yra prieinamas globaliai pagal jo pavadinimą. Sintaksė object <pavadinimas>.

Lyginamoji lentelė:

Savybė Objektų išraiškos Objektų deklaracijos
Paskirtis Sukurti anoniminius objektus Sukurti singleton'ą
Naudojimas Vietinis, viduje išraiškų ar funkcijų Visuotinai prieinamas, pagal pavadinimą
Egzempliorių kūrimas Kiekvieną kartą naudojant išraišką Vienas egzempliorius pirmo naudojimo metu
Pavadinimas Anoniminis Pavadintas
Taikymas Vienkartiniai įvykių klausytojai, adapteriai Naudotuvai, konfigūracijos, būsenos saugyklos

Objekto išraiškos pavyzdys:

// Sukurti paspaudimo įvykio tvarkyklę "gyvai"
button.setOnClickListener(object : View.OnClickListener {
    override fun onClick(v: View?) {
        // Veiksmas paspaudus
    }
})

Objekto deklaracijos pavyzdys:

// Singleton'o deklaravimas žurnalo įrašymui
object Logger {
    fun log(message: String) {
        println(message)
    }
}

// Singleton'o naudojimas
fun processData(data: String) {
    Logger.log("Apdorojama duomenys...")
    // Duomenų apdorojimas
}