Sobes.tech
Junior — Middle

Faut-il fournir une implémentation pour les méthodes de l'interface dans sa classe de base?

sobes.tech IA

Réponse de l'IA

En Android (et en Java/Kotlin en général), une interface définit uniquement un contrat : un ensemble de méthodes qui doivent être implémentées par la classe. Dans les classes qui implémentent l'interface, ces méthodes doivent être implémentées.

Cependant, si vous avez une classe de base qui implémente l'interface, vous pouvez fournir une implémentation de base des méthodes de l'interface dans celle-ci. Cela est utile si plusieurs sous-classes doivent utiliser la même logique, afin d'éviter la duplication de code.

Par exemple, en Java, vous pouvez faire comme suit :

public interface MyInterface {
    void doSomething();
}

public abstract class BaseClass implements MyInterface {
    @Override
    public void doSomething() {
        System.out.println("Implémentation de base");
    }
}

public class ChildClass extends BaseClass {
    // Vous pouvez redéfinir doSomething ou utiliser l'implémentation de base
}

Ainsi, fournir une implémentation des méthodes de l'interface dans la classe de base peut être utile et logique du point de vue de l'architecture et de la réutilisation du code.