expect/actual-Klassen und -Properties
Über Funktionen hinaus: Deklarationen, die Sie mit expect/actual definieren können
expect/actual-Klassen und -Properties ist eine kostenlose Kotlin Multiplatform Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Kotlin Multiplatform Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Kotlin Multiplatform Academy-Kurs umfasst insgesamt 4 Lektionen.
Beyond Functions
expect/actual ist nicht auf Funktionen beschränkt. Sie können auch ganze Klassen, Eigenschaften und sogar Objekte deklarieren, die sich je nach Plattform unterscheiden.
An expect Property
Benötigst du einen Wert, den jede Plattform definiert? Deklariere ein expect val in commonMain und lasse jedes Ziel den tatsächlichen Wert bereitstellen.
expect val platformName: StringEach Target Sets It
Android und iOS stellen jeweils einen actual-Wert bereit. Die Eigenschaft liest sich im gemeinsamen Code wie eine Konstante, wird aber plattformspezifisch aufgelöst.
actual val platformName: String = "iOS"An expect Class
Für ein reichhaltigeres Verhalten deklarieren Sie eine expect-Klasse. Sie listet die Member auf, die von gemeinsam genutztem Code verwendet werden können, während jede Plattform die Rümpfe ausfüllt.
expect class Platform() {
val name: String
}The Android actual Class
Die androidMain-actual-Klasse implementiert jedes deklarierte Mitglied. Hier gibt name eine Android-spezifische Zeichenfolge zurück.
actual class Platform actual constructor() {
actual val name = "Android"
}Match Members Exactly
Jede konkrete Klasse muss jedes vom expect-Schlüsselwort zugesicherte Element mit denselben Namen und Typen deklarieren. Das Fehlen eines Elements führt zu einem Kompilierungsfehler.
Constructors Need actual Too
Wenn die „expect“-Klasse einen Konstruktor hat, markieren Sie den Plattform-Konstruktoren als actual constructor. Der Compiler überprüft, ob sie übereinstimmen.
Use It Like Any Class
Im geteilten Code erstellen und verwenden Sie es einfach. Das richtige actual unterstützt das Objekt, sodass die gemeinsame Logik plattformunabhängig bleibt.
val name = Platform().nameAdd Platform-Only Extras
Eine tatsächliche Klasse kann zusätzliche private Mitglieder hinzufügen, die über die Erwartung hinausgehen. Nur das, was das expect deklariert, ist für gemeinsamen Code sichtbar.
Prefer the Smallest Tool
Verwende eine expect-Eigenschaft für einen Wert, eine expect-Funktion für eine Aktion und eine expect-Klasse nur dann, wenn du Zustand und Verhalten benötigst. ✨
A Familiar Modern Note
Neuere Kotlin-Versionen drängen einen eher zu Schnittstellen und expect/actual-Funktionen statt zu expect Klassen, aber Klassen funktionieren auch heute noch gut.
Quick Check
Überlegen Sie, was eine tatsächliche Klasse ihrem Experten schuldet.
Recap
Du hast gesehen, dass expect/actual auch Eigenschaften und Klassen abdeckt. Deklariere die Form in commonMain und erfülle dann jedes Element im actual der jeweiligen Plattform. 🎉
Häufig gestellte Fragen
Ist die Lektion „expect/actual-Klassen und -Properties“ kostenlos?
Ja — der vollständige Text von „expect/actual-Klassen und -Properties“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Kotlin Multiplatform Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Kotlin Multiplatform Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „expect/actual-Klassen und -Properties“?
Über Funktionen hinaus: Deklarationen, die Sie mit expect/actual definieren können Du übst Kotlin Multiplatform Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Kotlin Multiplatform Academy zu starten?
Keine Vorkenntnisse erforderlich. Kotlin Multiplatform Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „expect/actual-Klassen und -Properties“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Kotlin Multiplatform Academy-Lektion Code schreiben und ausführen?
Ja. Jede Kotlin Multiplatform Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Warum expect/actual existiert
- Den Plattformnamen pro Target ermitteln
- expect/actual-Klassen und -Properties
- Häufige Fehler und Compiler-Fehlermeldungen