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.