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