Sobes.tech
Middle

Šta su 'izrazi objekta' i 'deklaracije objekta' u Kotlinu?

sobes.tech АИ

Одговор од АИ

Izrazi objekata (anonimni objekti) koriste se za kreiranje objekata anonimnih klasa. Oni su korisni za implementaciju jednokratnih interfejsa ili nasleđivanje od klasa u jednom primeru. Sintaksa object : <tip(ovi)>.

Deklaracije objekata (deklaracije objekata) kreiraju singleton. To je klasa sa jednim primerkom, dostupnom globalno putem njenog imena. Sintaksa object <ime>.

Tabela poređenja:

Osobina Izrazi objekata Deklaracije objekata
Svrha Kreiranje anonimnog objekta Kreiranje singletona
Upotreba Lokalno, unutar izraza ili funkcija Javno, po imenu objekta
Kreiranje instanci Pri svakom korišćenju izraza Jedan primerak pri prvom pristupu
Nomenklatura Anonimno Nomenisano
Primena Jednokratni slušaoci događaja, adapteri Pomoćne funkcije, konfiguracije, skladišta stanja

Primer izraza objekta:

// Kreiranje handlera za klik "uživo"
button.setOnClickListener(object : View.OnClickListener {
    override fun onClick(v: View?) {
        // Akcija pri kliku
    }
})

Primer deklaracije objekta:

// Deklaracija singletona za logovanje
object Logger {
    fun log(message: String) {
        println(message)
    }
}

// Korišćenje singletona
fun processData(data: String) {
    Logger.log("Obrada podataka...")
    // Obrada podataka
}