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.