Sobes.tech
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.