Sobes.tech
Junior — Middle

Trebuie să oferiți o implementare pentru metodele interfeței în clasa sa de bază?

sobes.tech AI

Răspuns de la AI

În Android (și în Java/Kotlin în general), interfața definește doar un contract: un set de metode care trebuie implementate de clasă. În clasele care implementează interfața, aceste metode trebuie să fie implementate.

Cu toate acestea, dacă aveți o clasă de bază care implementează interfața, puteți furniza o implementare de bază a metodelor interfeței în ea. Acest lucru este util dacă mai multe subclase vor folosi aceeași logică, pentru a evita duplicarea codului.

De exemplu, în Java puteți face astfel:

public interface MyInterface {
    void doSomething();
}

public abstract class BaseClass implements MyInterface {
    @Override
    public void doSomething() {
        System.out.println("Implementare de bază");
    }
}

public class ChildClass extends BaseClass {
    // Puteți suprascrie doSomething sau să folosiți implementarea de bază
}

Astfel, furnizarea unei implementări a metodelor interfeței în clasa de bază poate fi utilă și logică din punct de vedere al arhitecturii și reutilizării codului.