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
}