Android Academy · Lektion

Klasser og egenskaber

Modellér data med klasser.

Lektion 2 af 413 trin

Klasser og egenskaber er en gratis Android Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Android Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Android Academy-kurset indeholder 4 lektioner i alt.

Hvad er en klasse?

En klasse er en skabelon til oprettelse af objekter. Den samler relaterede data og adfærd i én type.

For eksempel kan en klasse Dog beskrive alle hundes navn, alder og den gøen, de laver.

Erklæring af en klasse

Du erklærer en klasse med nøgleordet class og et navn. Klassenavne bruger PascalCase.

En tom klasse er helt gyldig; du kan endda udelade de krøllede parenteser.

class Dog

fun main() {
    println("Class declared")
}

Oprettelse af et objekt

Et objekt (eller en instans) er en konkret ting, der er bygget ud fra en klasse. I Kotlin opretter du et ved at kalde klassens navn som en funktion.

Bemærk, at der ikke findes noget nøgleord new.

class Dog

fun main() {
    val rex = Dog()
    println(rex)
}

Egenskaber

En egenskab er en variabel, der tilhører en klasse. Erklær den inde i klassens krop med val eller var.

Brug val til værdier, der aldrig ændres, og var til værdier, der kan ændres.

class Dog {
    var name: String = "Rex"
    var age: Int = 3
}

fun main() {
    val d = Dog()
    println(d.name)
}

Adgang til egenskaber

Brug punktnotation til at læse eller ændre en egenskab: object.property.

Da name er en var, kan vi tildele den en ny værdi.

class Dog {
    var name: String = "Rex"
}

fun main() {
    val d = Dog()
    d.name = "Buddy"
    println(d.name)
}

Egenskaber med val kontra var

En egenskab med val er skrivebeskyttet, efter den er angivet. Hvis du forsøger at tildele den en ny værdi, opstår der en kompileringsfejl.

En egenskab med var kan tildeles en ny værdi så mange gange, du vil.

class Circle {
    val pi = 3.14
    var radius = 1.0
}

fun main() {
    val c = Circle()
    c.radius = 5.0
    println(c.radius)
}

Metoder

En funktion, der er erklæret inde i en klasse, kaldes en metode. Metoder kan bruge klassens egenskaber direkte.

Her bruger bark egenskaben name.

class Dog {
    var name: String = "Rex"
    fun bark() {
        println(name + " says Woof!")
    }
}

fun main() {
    Dog().bark()
}

Flere objekter

Hvert objekt har sin egen kopi af egenskaberne. Hvis du ændrer ét objekt, påvirker det ikke et andet.

Her har a og b separate navne.

class Dog {
    var name: String = ""
}

fun main() {
    val a = Dog()
    val b = Dog()
    a.name = "Rex"
    b.name = "Max"
    println(a.name + " " + b.name)
}

Standardværdier for egenskaber

Alle egenskaber skal have en værdi. Du kan angive en fornuftig standardværdi, når du erklærer egenskaben.

På den måde starter et nyt objekt i en kendt tilstand i stedet for at være udefineret.

class Counter {
    var count: Int = 0
    fun increment() {
        count = count + 1
    }
}

fun main() {
    val c = Counter()
    c.increment()
    println(c.count)
}

Kombination af egenskaber og metoder

En klasse er mest nyttig, når egenskaber og metoder arbejder sammen. En metode kan læse og opdatere objektets egne egenskaber.

Her øger haveBirthday egenskaben age, hver gang den kaldes.

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)
}

Klasser modellerer virkelige ting

Klasser lader dig modellere idéer fra den virkelige verden i kode.

  • Egenskaber beskriver, hvad noget har.
  • Metoder beskriver, hvad det kan gøre.

I Android er skærme, knapper og viewmodeller alle bygget ud fra klasser.

Hurtigt tjek

Test din forståelse af klasser og egenskaber.

Opsummering

Du har lært, at en klasse er en skabelon, og at et objekt er en oprettet instans.

Egenskaber gemmer data med val eller var, metoder tilføjer funktionalitet, og punktnotation giver adgang til dem. Nu skal du opsætte egenskaber på en ryddelig måde ved hjælp af konstruktører.

Gratis at komme i gang

Lær Kotlin med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
36
Lektioner
152

Ofte stillede spørgsmål

Er lektionen “Klasser og egenskaber” gratis?

Ja — alle 3 lektioner i læringssporet Android Academy, inklusive “Klasser og egenskaber”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Android Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Klasser og egenskaber”?

Modellér data med klasser. Du øver dig i Android Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Android Academy?

Der kræves ingen tidligere erfaring. Android Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Klasser og egenskaber”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Android Academy-lektion?

Ja. Alle Android Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Deklarér funktioner
  2. Klasser og egenskaber
  3. Konstruktører og init
  4. Dataklasser
← Tilbage til Android Academy