Junior — Middle
Czy należy zapewnić implementację metod interfejsu w jego klasie bazowej?
sobes.tech AI
Odpowiedź od AI
W Androidzie (i ogólnie w Java/Kotlin) interfejs definiuje tylko kontrakt — zestaw metod, które muszą być zaimplementowane przez klasę. W klasach implementujących interfejs te metody muszą być zaimplementowane.
Jednak jeśli masz klasę bazową, która implementuje interfejs, możesz w niej zapewnić podstawową implementację metod interfejsu. Jest to przydatne, jeśli kilka podklas będzie korzystać z tej samej logiki, aby uniknąć duplikacji kodu.
Na przykład w Java można to zrobić tak:
public interface MyInterface {
void doSomething();
}
public abstract class BaseClass implements MyInterface {
@Override
public void doSomething() {
System.out.println("Podstawowa implementacja");
}
}
public class ChildClass extends BaseClass {
// Możesz nadpisać doSomething lub użyć podstawowej implementacji
}
W ten sposób zapewnienie implementacji metod interfejsu w klasie bazowej może być przydatne i logiczne z punktu widzenia architektury i ponownego użycia kodu.