Klasser og objekter
Definer klasser med egenskaper og metoder, bruk konstruktører, forstå arv og grensesnitt, og skriv objektorientert kode på idiomatisk Kotlin-vis.
Klasser og objekter er en gratis leksjon i Android Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Android Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Android Academy inneholder totalt 4 leksjoner.
Hva er en klasse?
En klasse er en mal for å opprette objekter. Den samler relaterte data (egenskaper) og atferd (funksjoner).
class Dog— definerer malenval myDog = Dog()— oppretter en instans (et objekt)
Eksempel: En User-klasse som inneholder navn, alder og e-post.
Definere en klasse
Kotlin-klasser har en konsis syntaks for primærkonstruktøren:
class User(val name: String, var age: Int) {
fun greet(): String {
return "Hi, I'm $name and I'm $age years old."
}
}
fun main() {
val user = User("Alice", 28)
println(user.name) // Alice
println(user.age) // 28
user.age = 29 // var can be changed
println(user.greet())
}Dataklasser
En dataklasse passer perfekt til å lagre data. Legg til nøkkelordet data, så genererer Kotlin automatisk:
equals()/hashCode()— sammenligning etter verditoString()— lesbar tekstlig representasjoncopy()— opprett en endret kopi
Eksempel på dataklasse
Dataklasser er svært nyttige når du representerer modellobjekter:
data class Product(val id: Int, val name: String, val price: Double)
fun main() {
val p1 = Product(1, "Laptop", 999.99)
val p2 = p1.copy(price = 899.99) // new copy with changed price
println(p1) // Product(id=1, name=Laptop, price=999.99)
println(p2) // Product(id=1, name=Laptop, price=899.99)
println(p1 == p2) // false (different price)
}Companion-objekter
Et companion-objekt inneholder medlemmer som tilhører selve klassen, ikke en bestemt instans — omtrent som static i Java.
Få tilgang til dem via klassenavnet: User.create()
Eksempel på companion-objekt
Bruk companion-objekter til factory-metoder og konstanter:
class Counter {
var count = 0
fun increment() { count++ }
companion object {
const val MAX = 100
fun create(): Counter = Counter()
}
}
fun main() {
val c = Counter.create()
c.increment()
c.increment()
println(c.count) // 2
println(Counter.MAX) // 100
}Arv
Kotlin-klasser er final som standard (kan ikke utvides). Merk en klasse med open for å tillate arv.
open class Animal— kan utvidesclass Dog : Animal()— utvider Animaloverride fun sound()— overstyrer en funksjon fra foreldreklassen
Eksempel på arv
Bygg et enkelt klassehierarki:
open class Shape {
open fun area(): Double = 0.0
}
class Circle(val radius: Double) : Shape() {
override fun area(): Double = 3.14159 * radius * radius
}
class Rectangle(val w: Double, val h: Double) : Shape() {
override fun area(): Double = w * h
}
fun main() {
val shapes: List<Shape> = listOf(
Circle(5.0),
Rectangle(4.0, 3.0)
)
for (s in shapes) println("Area: ${s.area()}")
}Objektdeklarasjoner
En object-deklarasjon oppretter en singleton — en klasse med nøyaktig én instans, som opprettes når den brukes første gang.
Bruk den til verktøy, administratorer eller hva som helst som bare skal ha én instans.
Kort sjekk
Hvilken funksjon tilbyr en Kotlin-data class automatisk?
Oppsummering: Klasser og objekter
Dette har du lært om Kotlins byggeblokker for objektorientert programmering:
- Klasser med primærkonstruktører og medlemsfunksjoner
data class— automatisk genererte equals, toString og copycompanion object— medlemmer på klassenivå (static)open-klasser ogoverridefor arvobject-deklarasjoner for singletons
Du er klar til å bygge ekte Android-apper!
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
- 36
- Leksjoner
- 152
Ofte stilte spørsmål
Er leksjonen «Klasser og objekter» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Android Academy, inkludert «Klasser og objekter», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Android Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Klasser og objekter»?
Definer klasser med egenskaper og metoder, bruk konstruktører, forstå arv og grensesnitt, og skriv objektorientert kode på idiomatisk Kotlin-vis. Du øver på Android 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 Android Academy?
Ingen tidligere erfaring er nødvendig. Android 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 2 av 4.
Hvor lang tid tar leksjonen «Klasser og objekter»?
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 Android Academy-leksjonen?
Ja. Alle Android 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
- Null-sikkerhet
- Klasser og objekter
- Data-klasser og sealed-klasser
- Utvidelsesfunksjoner og høyereordensfunksjoner