Sobes.tech
Junior — Middle

Měli byste poskytnout implementaci metod rozhraní ve své základní třídě?

sobes.tech AI

Odpověď od AI

V Androidu (a obecně v Java/Kotlin) definuje rozhraní pouze smlouvu — sadu metod, které musí být implementovány třídou. V třídách, které implementují rozhraní, musí být tyto metody implementovány.

Nicméně, pokud máte základní třídu, která implementuje rozhraní, můžete v ní poskytnout základní implementaci metod rozhraní. To je užitečné, pokud několik podtříd bude používat stejnou logiku, aby se zabránilo duplicitě kódu.

Například v Java to lze udělat takto:

public interface MyInterface {
    void doSomething();
}

public abstract class BaseClass implements MyInterface {
    @Override
    public void doSomething() {
        System.out.println("Základní implementace");
    }
}

public class ChildClass extends BaseClass {
    // Můžete přepsat doSomething nebo použít základní implementaci
}

Tímto způsobem může být poskytnutí implementace metod rozhraní v základní třídě užitečné a logické z hlediska architektury a opětovného použití kódu.