Android Academy · Les

Klassen en objecten

Definieer klassen met properties en methoden, gebruik constructors, krijg inzicht in overerving en interfaces en schrijf idiomatische objectgeoriënteerde Kotlin-code.

Les 2 van 411 stappen

Klassen en objecten is een gratis Android Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Android Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Android Academy bevat in totaal 4 lessen.

Wat is een klasse?

Een klasse is een blauwdruk voor het maken van objecten. Ze bundelt gerelateerde gegevens (eigenschappen) en gedrag (functies).

  • class Dog — definieert de blauwdruk
  • val myDog = Dog() — maakt een instantie (object)

Voorbeeld: een klasse User die naam, leeftijd en e-mail bevat.

Een klasse definiëren

Kotlin-klassen hebben een beknopte syntaxis voor de primaire constructor:

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

Dataklassen

Een dataklasse is ideaal voor het opslaan van gegevens. Voeg het sleutelwoord data toe en Kotlin genereert automatisch:

  • equals() / hashCode() — vergelijken op basis van waarde
  • toString() — voor mensen leesbare uitvoer
  • copy() — een aangepaste kopie maken

Voorbeeld van een dataklasse

Dataklassen zijn bijzonder handig bij het weergeven van modelobjecten:

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 objects

Een companion object bevat leden die bij de klasse zelf horen, niet bij een instantie — vergelijkbaar met static in Java.

Je benadert ze via de naam van de klasse: User.create()

Voorbeeld van een companion object

Gebruik companion objects voor factorymethoden en constanten:

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
}

Overerving

Kotlin-klassen zijn standaard final (kunnen niet worden uitgebreid). Markeer een klasse als open om overerving toe te staan.

  • open class Animal — kan worden uitgebreid
  • class Dog : Animal() — breidt Animal uit
  • override fun sound() — overschrijft een functie van de bovenliggende klasse

Voorbeeld van overerving

Bouw een eenvoudige klassehiërarchie:

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

Objectdeclaraties

Een object-declaratie maakt een singleton — een klasse met precies één instantie, die bij de eerste toegang lui wordt aangemaakt.

Gebruik dit voor hulpprogramma's, beheerders of alles waarvan maar één instantie mag bestaan.

Korte controle

Welke functie levert een Kotlin-data class automatisch?

Samenvatting: klassen en objecten

Je hebt de basisblokken van Kotlin voor objectgeoriënteerd programmeren geleerd:

  • Klassen met primaire constructors en lidfuncties
  • data class — automatisch gegenereerde equals, toString en copy
  • companion object — leden op klassenniveau (static)
  • open-klassen en override voor overerving
  • object-declaraties voor singletons

Je bent klaar om echte Android-apps te bouwen!

Gratis beginnen

Leer Kotlin met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
36
Lessen
152

Veelgestelde vragen

Is de les “Klassen en objecten” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Android Academy, waaronder “Klassen en objecten”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Android Academy bevat in totaal 4 lessen.

Wat leer ik in “Klassen en objecten”?

Definieer klassen met properties en methoden, gebruik constructors, krijg inzicht in overerving en interfaces en schrijf idiomatische objectgeoriënteerde Kotlin-code. Je oefent met Android Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Android Academy te beginnen?

Ervaring vooraf is niet nodig. Android Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Klassen en objecten”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Android Academy?

Ja. Elke les over Android Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Null safety
  2. Klassen en objecten
  3. Dataklassen en sealed classes
  4. Extension functions en higher-order functions
← Terug naar Android Academy