Kotlin Multiplatform Academy · Les

expect/actual-klassen en -properties

Meer dan functies: declaraties die u als expect/actual kunt definiëren

Les 3 van 413 stappen

expect/actual-klassen en -properties is een gratis Kotlin Multiplatform Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Kotlin Multiplatform Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Kotlin Multiplatform Academy bevat in totaal 4 lessen.

Verder dan functies

expect/actual beperkt zich niet tot functies. Je kunt ook volledige klassen, eigenschappen en zelfs objecten declareren die per platform verschillen.

Een expect-eigenschap

Heb je een waarde nodig die elk platform zelf definieert? Declareer dan een expect val in commonMain en laat elk doelplatform de werkelijke waarde leveren.

expect val platformName: String

Elk doelplatform stelt de waarde in

Android en iOS leveren elk een actual val. In gedeelde code gedraagt de eigenschap zich als een constante, maar de waarde wordt per platform bepaald.

actual val platformName: String = "iOS"

Een expect-klasse

Voor uitgebreider gedrag declareer je een expect class. Deze vermeldt de leden die gedeelde code kan gebruiken, terwijl elk platform de bodies invult.

expect class Platform() {
  val name: String
}

De Android-actual-klasse

De actual class in androidMain implementeert elk gedeclareerd lid. Hier retourneert name een Android-specifieke tekenreeks.

actual class Platform actual constructor() {
  actual val name = "Android"
}

Leden moeten exact overeenkomen

Elke actual-klasse moet elk lid declareren dat de expect heeft beloofd, met dezelfde namen en typen. Als er één ontbreekt, krijg je een compileerfout.

Constructors hebben ook actual nodig

Als de expect-klasse een constructor heeft, markeer je de platformvariant als een actual constructor. De compiler controleert of ze overeenkomen.

Gebruik het als elke klasse

In gedeelde code maak en gebruik je het gewoon. De juiste actual levert de implementatie van het object, zodat de gemeenschappelijke logica niets van het platform hoeft te weten.

val name = Platform().name

Voeg platform-specifieke extra's toe

Een actual-klasse mag naast de expect extra private leden bevatten. Alleen wat de expect declareert, is zichtbaar voor gedeelde code.

Kies het kleinste hulpmiddel

Gebruik een expect-eigenschap voor een waarde, een expect-functie voor een actie en een expect-klasse alleen als je toestand én gedrag nodig hebt. ✨

Een bekende moderne kanttekening

Recente Kotlin-versies sturen je eerder richting interfaces plus expect/actual-functies dan naar expect-klassen, maar klassen werken vandaag nog steeds goed.

Korte controle

Denk na over wat een actual-klasse aan haar expect verschuldigd is.

Samenvatting

Je hebt gezien dat expect/actual ook eigenschappen en klassen omvat. Declareer de vorm in commonMain en vul vervolgens elk lid in via de actual van elk platform. 🎉

Gratis beginnen

Leer Kotlin met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
30
Lessen
120

Veelgestelde vragen

Is de les “expect/actual-klassen en -properties” gratis?

Ja — de volledige tekst van “expect/actual-klassen en -properties” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Kotlin Multiplatform Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Kotlin Multiplatform Academy bevat in totaal 4 lessen.

Wat leer ik in “expect/actual-klassen en -properties”?

Meer dan functies: declaraties die u als expect/actual kunt definiëren Je oefent met Kotlin Multiplatform Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Kotlin Multiplatform Academy te beginnen?

Ervaring vooraf is niet nodig. Kotlin Multiplatform Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.

Hoe lang duurt de les “expect/actual-klassen en -properties”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Kotlin Multiplatform Academy?

Ja. Elke les over Kotlin Multiplatform Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Waarom expect/actual bestaat
  2. De platformnaam per target ophalen
  3. expect/actual-klassen en -properties
  4. Veelgemaakte fouten en compilerfouten
← Terug naar Kotlin Multiplatform Academy