In diesem Artikel lernen Sie anhand von Beispielen, wie Sie Begleitobjekte in Ihrem Kotlin-Programm erstellen und verwenden.
Bevor wir uns mit Begleitobjekten befassen, nehmen wir ein Beispiel für den Zugriff auf Mitglieder einer Klasse.
class Person ( fun callMe() = println("I'm called.") ) fun main(args: Array) ( val p1 = Person() // calling callMe() method using object p1 p1.callMe() )
Hier haben wir ein Objekt p1 der Person-Klasse erstellt, um die callMe()
Methode aufzurufen . So funktionieren die Dinge normalerweise.
In Kotlin können Sie die callMe()
Methode jedoch auch aufrufen , indem Sie den Klassennamen verwenden, in diesem Fall also Person. Dazu müssen Sie ein Begleitobjekt erstellen, indem Sie die Objektdeklaration mit dem companion
Schlüsselwort markieren .
Beispiel: Begleitobjekte
class Person ( companion object Test ( fun callMe() = println("I'm called.") ) ) fun main(args: Array) ( Person.callMe() )
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
Ich werde genannt.
Im Programm wird die Testobjektdeklaration mit dem Schlüsselwort Companion markiert, um ein Companion-Objekt zu erstellen. Daher ist es möglich, die callMe()
Methode unter Verwendung des Namens der Klasse wie folgt aufzurufen :
Person.callMe ()
Der Name des Begleitobjekts ist optional und kann weggelassen werden.
class Person ( // name of the companion object is omitted companion object ( fun callMe() = println("I'm called.") ) ) fun main(args: Array) ( Person.callMe() )
Wenn Sie mit Java vertraut sind, können Sie Begleitobjekte mit statischen Methoden verknüpfen (auch wenn ihre interne Funktionsweise völlig unterschiedlich ist).
Die Begleitobjekte können auf private Mitglieder der Klasse zugreifen. Daher können sie verwendet werden, um die Factory-Methodenmuster zu implementieren.