Sobes.tech
Junior — Middle

Welke methoden kunnen worden gebruikt om de functionaliteit van een al geïmplementeerde klasse uit te breiden?

sobes.tech AI

Antwoord van AI

Om de functionaliteit van een al bestaande klasse in Android (Java/Kotlin) uit te breiden, kunnen verschillende methoden worden gebruikt:

  • Erfelijkheid — maak een subclass die de basisklasse uitbreidt en methoden toevoegt of overschrijft.

  • Samenstelling — voeg een instantie van een bestaande klasse toe aan een nieuwe klasse en delegueer de aanroepen, met extra logica.

  • Decorator — wikkel een object in een ander object dat functionaliteit toevoegt, terwijl de interface behouden blijft.

  • Extension Functions (in Kotlin) — voeg nieuwe functies toe aan bestaande klassen zonder erfelijkheid.

Voorbeeld van erfelijkheid in Java:

public class BaseClass {
    public void doSomething() {
        System.out.println("Basisimplementatie");
    }
}

public class ExtendedClass extends BaseClass {
    @Override
    public void doSomething() {
        super.doSomething();
        System.out.println("Uitgebreide functionaliteit");
    }
}

Voorbeeld van extension function in Kotlin:

fun String.addExclamation(): String {
    return this + "!"
}

val greeting = "Hello".addExclamation() // "Hello!"

De keuze van methode hangt af van de specifieke taak en projectbeperkingen.