Luokat ja ominaisuudet
Mallintakaa dataa luokilla.
Luokat ja ominaisuudet on ilmainen Android Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Android Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Android Academy-kurssilla on yhteensä 4 oppituntia.
Mikä luokka on?
Luokka on suunnitelma olioiden luomista varten. Se kokoaa toisiinsa liittyvät tiedot ja toiminnan yhdeksi tyypiksi.
Esimerkiksi Dog-luokka voisi kuvata jokaisen koiran nimen, iän ja haukun.
Luokan määrittäminen
Määrität luokan class-avainsanalla ja nimellä. Luokkien nimet kirjoitetaan PascalCase-muodossa.
Tyhjä luokka on täysin kelvollinen. Voit jopa jättää aaltosulkeet pois.
class Dog
fun main() {
println("Class declared")
}Olion luominen
Ol io (tai instanssi) on luokasta rakennettu todellinen kokonaisuus. Kotlinissa luot olion kutsumalla luokan nimeä funktion tapaan.
Huomaa, ettei new-avainsanaa käytetä.
class Dog
fun main() {
val rex = Dog()
println(rex)
}Ominaisuudet
Ominaisuus on luokalle kuuluva muuttuja. Määritä se luokan rungon sisällä käyttämällä val- tai var-avainsanaa.
Käytä val-avainsanaa arvoille, jotka eivät koskaan muutu, ja var-avainsanaa arvoille, jotka voivat muuttua.
class Dog {
var name: String = "Rex"
var age: Int = 3
}
fun main() {
val d = Dog()
println(d.name)
}Ominaisuuksien käyttäminen
Käytä piste-merkintää ominaisuuden lukemiseen tai muuttamiseen: object.property.
Koska name on var, sille voidaan määrittää uusi arvo.
class Dog {
var name: String = "Rex"
}
fun main() {
val d = Dog()
d.name = "Buddy"
println(d.name)
}val- ja var-ominaisuudet
val-ominaisuus on määrittämisen jälkeen vain luku -muotoinen. Sen uudelleenmäärittäminen aiheuttaa käännösvirheen.
var-ominaisuuden voi määrittää uudelleen niin monta kertaa kuin haluatte.
class Circle {
val pi = 3.14
var radius = 1.0
}
fun main() {
val c = Circle()
c.radius = 5.0
println(c.radius)
}Metodit
Luokan sisällä määritettyä funktiota kutsutaan metodiksi. Metodit voivat käyttää luokan ominaisuuksia suoraan.
Tässä bark käyttää name-ominaisuutta.
class Dog {
var name: String = "Rex"
fun bark() {
println(name + " says Woof!")
}
}
fun main() {
Dog().bark()
}Useita olioita
Jokaisella oliolla on ominaisuuksista oma kopionsa. Yhden olion muuttaminen ei vaikuta toiseen.
Tässä a ja b säilyttävät erilliset nimet.
class Dog {
var name: String = ""
}
fun main() {
val a = Dog()
val b = Dog()
a.name = "Rex"
b.name = "Max"
println(a.name + " " + b.name)
}Ominaisuuksien oletusarvot
Jokaisella ominaisuudella on oltava arvo. Voitte määrittää järkevän oletusarvon samalla, kun ilmoitatte ominaisuuden.
Näin uusi olio aloittaa tunnetusta tilasta sen sijaan, että sen arvo olisi määrittämätön.
class Counter {
var count: Int = 0
fun increment() {
count = count + 1
}
}
fun main() {
val c = Counter()
c.increment()
println(c.count)
}Ominaisuuksien ja metodien yhdistäminen
Luokasta on eniten hyötyä, kun ominaisuudet ja metodit toimivat yhdessä. Metodi voi lukea ja päivittää olion omia ominaisuuksia.
Tässä haveBirthday kasvattaa age-ominaisuutta jokaisella kutsukerralla.
class Dog {
var name: String = "Rex"
var age: Int = 1
fun haveBirthday() {
age = age + 1
}
}
fun main() {
val d = Dog()
d.haveBirthday()
println(d.age)
}Luokat mallintavat todellisia asioita
Luokkien avulla voitte mallintaa todellisen maailman käsitteitä koodissa.
- Ominaisuudet kuvaavat, mitä jollakin on.
- Metodit kuvaavat, mitä se voi tehdä.
Androidissa näytöt, painikkeet ja näkymämallit rakennetaan kaikki luokista.
Pikatarkistus
Testaa ymmärryksesi luokista ja ominaisuuksista.
Kertaus
Opit, että luokka on suunnitelma ja olio on siitä luotu ilmentymä.
Ominaisuudet tallentavat tietoja val- tai var-määreellä, metodit lisäävät toiminnallisuutta ja piste-merkinnällä niitä käytetään. Seuraavaksi määrität ominaisuudet siististi konstruktorien avulla.
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
- 36
- Oppitunnit
- 152
Usein kysytyt kysymykset
Onko oppitunti ”Luokat ja ominaisuudet” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Android Academy-oppimispolun 3 oppituntia, myös oppitunnin “Luokat ja ominaisuudet”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Android Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Luokat ja ominaisuudet”?
Mallintakaa dataa luokilla. Harjoittelet Android Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Android Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Android 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 ”Luokat ja ominaisuudet”-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ä Android Academy-oppitunnilla?
Kyllä. Jokainen Android 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
- Funktioiden määrittäminen
- Luokat ja ominaisuudet
- Konstruktorit ja init
- Dataclass-luokat