Junior
Τι είναι η έκφραση 'object' στο Kotlin και πώς μπορεί να χρησιμοποιηθεί;
sobes.tech AI
Απάντηση από AI
Το object στην Kotlin χρησιμοποιείται για τη δημιουργία singleton, ανώνυμων αντικειμένων και αντικειμένων συνοδών (companion object).
Singletons:
Δημιουργία μιας μοναδικής στιγμιότυπου μιας κλάσης:
object DatabaseManager {
fun connect() {
// Λογική σύνδεσης
}
}
Χρήση:
DatabaseManager.connect()
Ανώνυμα αντικείμενα:
Δημιουργία ενός "on-the-fly" αντικειμένου που μπορεί να υλοποιεί διεπαφές ή να κληρονομεί από κλάσεις. Συχνά χρησιμοποιείται για ακροατές γεγονότων.
interface ClickListener {
fun onClick()
}
fun setupButton(listener: ClickListener) {
// Ρύθμιση κουμπιού με ακροατή
}
fun main() {
setupButton(object : ClickListener {
override fun onClick() {
println("Το κουμπί πατήθηκε!")
}
})
}
Τα ανώνυμα αντικείμενα έχουν πρόσβαση σε μεταβλητές από το περιβάλλον αν είναι τελικές (ή αποτελεσματικά τελικές στο Kotlin).
Αντικείμενα συνοδών (companion object):
Παρόμοια με τα στατικά μέλη στη Java. Δηλώνεται μέσα σε μια κλάση.
class MyClass {
companion object {
const val TAG = "MyClass"
fun create(): MyClass {
return MyClass()
}
}
}
Χρήση:
println(MyClass.TAG)
val instance = MyClass.create()
Τα αντικείμενα συνοδών μπορούν να έχουν ονόματα και ακόμη και να υλοποιούν διεπαφές.