Junior — Middle
Moet je een implementatie bieden voor de methoden van de interface in de basisklasse?
sobes.tech AI
Antwoord van AI
In Android (en Java/Kotlin in het algemeen) definieert een interface alleen een contract: een set methoden die door de klasse geïmplementeerd moeten worden. In klassen die de interface implementeren, moeten deze methoden geïmplementeerd worden.
Echter, als je een basisklasse hebt die de interface implementeert, kun je een basisimplementatie van de interface-methoden daarin bieden. Dit is handig als meerdere subklassen dezelfde logica gebruiken, om duplicatie van code te voorkomen.
Bijvoorbeeld, in Java kun je het zo doen:
public interface MyInterface {
void doSomething();
}
public abstract class BaseClass implements MyInterface {
@Override
public void doSomething() {
System.out.println("Basisimplementatie");
}
}
public class ChildClass extends BaseClass {
// Je kunt doSomething overschrijven of de basisimplementatie gebruiken
}
Op deze manier kan het bieden van een implementatie van de interface-methoden in de basisklasse nuttig en logisch zijn vanuit architectuur- en hergebruiksperspectief.