Junior — Middle
Deve-se fornecer uma implementação para os métodos da interface na sua classe base?
sobes.tech IA
Resposta da IA
No Android (e em Java/Kotlin em geral), a interface define apenas um contrato: um conjunto de métodos que devem ser implementados pela classe. Nas classes que implementam a interface, esses métodos devem ser implementados.
No entanto, se tiver uma classe base que implementa a interface, pode fornecer uma implementação básica dos métodos da interface nela. Isto é útil se várias subclasses forem usar a mesma lógica, para evitar duplicação de código.
Por exemplo, em Java, pode fazer assim:
public interface MyInterface {
void doSomething();
}
public abstract class BaseClass implements MyInterface {
@Override
public void doSomething() {
System.out.println("Implementação básica");
}
}
public class ChildClass extends BaseClass {
// Pode sobrescrever doSomething ou usar a implementação base
}
Assim, fornecer uma implementação dos métodos da interface na classe base pode ser útil e lógico do ponto de vista da arquitetura e da reutilização de código.