Enumeraatiot ja sealed-luokat tilan mallintamiseen
Mallinna kiinteät vaihtoehdot ja tulosmuunnelmat turvallisesti
Enumeraatiot ja sealed-luokat tilan mallintamiseen on ilmainen Kotlin Multiplatform Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Kotlin Multiplatform Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Kotlin Multiplatform Academy-kurssilla on yhteensä 4 oppituntia.
Mallinna rajatut vaihtoehdot
Joillakin arvoilla on ennalta tunnettu, rajallinen joukko vaihtoehtoja. Kotlin tarjoaa enum- ja sealed class -tyypit niiden turvalliseen mallintamiseen jaetussa koodissa.
Tutustu enum classiin
Enum class luettelee kaikki sallitut arvot nimeltä. Mikään luettelon ulkopuolinen arvo ei voi päästä mukaan.
enum class Status { ACTIVE, PAUSED, DONE }Käytä enum-arvoa
Viittaa vaihtoehtoon sen nimellä. Koska joukko on suljettu, tilasi on aina yksi luetelluista vaihtoehdoista.
val current = Status.ACTIVEEnum-tyypit voivat sisältää tietoja
Anna enum-konstruktorille ominaisuuksia, jotta kukin vaihtoehto voi sisältää ylimääräisiä kiinteitä tietoja, kuten selitteen tai numerokoodin.
enum class Plan(val price: Int) { FREE(0), PRO(9) }Kun vaihtoehdot tarvitsevat eri tietoja
Enum-tyypeillä on yksi yhteinen rakenne. Kun vaihtoehdot tarvitsevat erilaisia kenttiä, käytä sen sijaan sealed class -tyyppiä.
Tutustu sealed classiin
Sealed class määrittelee suljetun alityyppien perheen. Kukin alityyppi voi sisältää omat yksilölliset tietonsa.
sealed class Result
data class Ok(val value: String) : Result()
data class Err(val message: String) : Result()Miksi sealed on tehokas
Koska kääntäjä tuntee kaikki alityypit, sealed class voi mallintaa onnistumis-, lataus- ja virhetiloja tyyppiturvallisine tietoineen.
val state: Result = Ok("loaded")Tee vertailu when-lauseella
Käsittele kukin vaihtoehto when-lauseella. Kääntäjä tarkistaa, että olet käsitellyt suljetun tyypin kaikki vaihtoehdot.
when (state) {
is Ok -> println(state.value)
is Err -> println(state.message)
}Kattava when ilman else-haaraa
Kun käsittelet kaikki sealed-tyypin vaihtoehdot, voit jättää else-haaran pois. Jos lisäät myöhemmin uuden alityypin, kääntäjä muistuttaa siitä.
Jaettu rakenne, sama toiminta molemmissa sovelluksissa
commonMainissa määritellyt tila-tyypit ohjaavat Androidissa ja iOS:ssä täysin samaa logiikkaa ilman eriytymistä.
Valitse oikea työkalu
Käytä enum-tyyppiä yksinkertaisiin kiinteisiin vaihtoehtoihin ja sealed class -tyyppiä, kun kukin vaihtoehto sisältää erilaisia tietoja.
Pikatarkistus
Millä tyypillä nämä tilat pitäisi mallintaa?
Kertaus
Käytä jaettuja enum-tyyppejä kiinteisiin vaihtoehtoihin ja sealed class -tyyppejä vaihtoehtoihin, joilla on omat tietonsa. Käsittele niitä turvallisesti when-lauseella.
Opi Kotlin tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 30
- Oppitunnit
- 120
Usein kysytyt kysymykset
Onko oppitunti ”Enumeraatiot ja sealed-luokat tilan mallintamiseen” ilmainen?
Kyllä – oppitunnin ”Enumeraatiot ja sealed-luokat tilan mallintamiseen” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Kotlin Multiplatform Academy-kurssin, päivitä CoddyKit PROhon. Kotlin Multiplatform Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Enumeraatiot ja sealed-luokat tilan mallintamiseen”?
Mallinna kiinteät vaihtoehdot ja tulosmuunnelmat turvallisesti Harjoittelet Kotlin Multiplatform Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Kotlin Multiplatform Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Kotlin Multiplatform Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Enumeraatiot ja sealed-luokat tilan mallintamiseen”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Kotlin Multiplatform Academy-oppitunnilla?
Kyllä. Jokainen Kotlin Multiplatform Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Data-luokat toimialueellesi
- Enumeraatiot ja sealed-luokat tilan mallintamiseen
- Null-turvallisuus jaetuissa malleissa
- Validointihelperit malleissa