Dataklasser for domenet ditt
Uforanderlige delte modeller med copy og equals inkludert
Dataklasser for domenet ditt er en gratis leksjon i Kotlin Multiplatform Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Kotlin Multiplatform Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Kotlin Multiplatform Academy inneholder totalt 4 leksjoner.
Domenet ditt trenger modeller
Alle apper beskriver virkelige ting som brukere, bestillinger eller sanger. I KMP modellerer du dem én gang med delte data classes.
Møt data class
En data class er en liten type som er laget for å inneholde verdier. Du legger til nøkkelordet og lister opp egenskapene i deklarasjonen.
data class User(val id: Int, val name: String)Den ligger i commonMain
Legg modellen i commonMain, så ser både Android- og iOS-appene nøyaktig samme struktur uten duplisering.
// shared/src/commonMain
data class User(val id: Int, val name: String)Opprett en instans
Bygg en modell ved å kalle den som en funksjon og sende inn hver verdi. Objektet inneholder nå dataene dine overalt.
val ada = User(id = 1, name = "Ada")Les egenskapene
Du får tilgang til alle felt med et punktum. Det fungerer på samme måte å lese egenskaper i delt kode, Android og iOS.
val label = ada.name + " #" + ada.idGratis toString
En data class genererer automatisk en lesbar toString, slik at utskrift av en modell viser verdiene i stedet for en kryptisk adresse.
println(ada) // User(id=1, name=Ada)equals basert på verdi
To modeller med de samme feltene regnes som like. Data classes sammenligner innhold, ikke minneidentitet.
User(1, "Ada") == User(1, "Ada") // trueKopier med endringer
Den kostnadsfrie copy-funksjonen kloner en modell og overskriver bare feltene du angir, mens originalen forblir urørt.
val renamed = ada.copy(name = "Grace")Foretrekk uforanderlig val
Deklarer felter som val, slik at modeller ikke kan endres etter opprettelsen. Uforanderlige data er tryggere å dele på tvers av plattformer.
data class Song(val title: String, val seconds: Int)Sett sammen modeller
En modell kan inneholde andre modeller som felter, slik at du kan nøste data classes for å gjenspeile reelle relasjoner i domenet ditt.
data class Playlist(val owner: User, val songs: List<Song>)Hvorfor dette er viktig
Én delt modell betyr at Android og iOS aldri kan være uenige om strukturen til dataene dine, og eliminerer en hel klasse med feil. 🙂
Rask sjekk
Hvilken kostnadsfri funksjon ga data class deg her?
Oppsummering
Delte data classes i commonMain gir deg copy, equals og toString gratis, slik at domenet modelleres én gang for begge appene.
Lær deg Kotlin med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 30
- Leksjoner
- 120
Ofte stilte spørsmål
Er leksjonen «Dataklasser for domenet ditt» gratis?
Ja – hele teksten i «Dataklasser for domenet ditt» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Kotlin Multiplatform Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Kotlin Multiplatform Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Dataklasser for domenet ditt»?
Uforanderlige delte modeller med copy og equals inkludert Du øver på Kotlin Multiplatform Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Kotlin Multiplatform Academy?
Ingen tidligere erfaring er nødvendig. Kotlin Multiplatform Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.
Hvor lang tid tar leksjonen «Dataklasser for domenet ditt»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Kotlin Multiplatform Academy-leksjonen?
Ja. Alle Kotlin Multiplatform Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Dataklasser for domenet ditt
- Enum-er og sealed-klasser for tilstand
- Null-sikkerhet i delte modeller
- Valideringshjelpere i modellene dine