Avatar ·

Was macht das Schlüsselwort `by` in Kotlin und wie verwendet man es zur Delegation?

Hallo! Ich habe angefangen, Kotlin nach Java zu lernen, und stoße ständig auf das Schlüsselwort `by`, aber ich kann sein Wesen nicht verstehen. Ich sehe es in verschiedenen Kontexten: in Klassendeklarationen, in Eigenschaften, in Konstrukten mit `lazy`. Zum Beispiel habe ich diesen Code gesehen: ```kotlin class MyClass : BaseInterface by SomeImplementation() ``` Oder: ```kotlin val myValue: String by lazy { "Hello" } ``` Was macht `by`? Ist das ein Operator? In Java gibt es nichts Vergleichbares. Ich habe versucht, die Dokumentation zu lesen, aber sie ist für Anfänger zu komplex. Könnt ihr mir in einfachen Worten erklären, wie `by` funktioniert? Wann sollte man es verwenden und wann besser vermeiden? Und warum heißt das "Delegation"? Ich wäre dankbar für Beispiele aus dem echten Leben, damit ich verstehe, wie ich es in meinen Projekten anwenden kann. Vielen Dank im Voraus! <<>>

Was ist das Schlüsselwort `by` in Kotlin?

Das Schlüsselwort by in Kotlin ist ein Mechanismus der Delegation. Anstatt den Code selbst zu schreiben, sagst du: