Sobes.tech
Junior — Middle

Quais métodos podem ser usados para expandir a funcionalidade de uma classe já implementada?

sobes.tech IA

Resposta da IA

Para expandir a funcionalidade de uma classe já implementada no Android (Java/Kotlin), podem ser utilizados vários métodos:

  • Herança — criar uma subclasse que estende a classe base e adiciona ou sobrescreve métodos.

  • Composição — incluir uma instância de uma classe existente numa nova classe e delegar chamadas, adicionando lógica adicional.

  • Decorador — envolver um objeto noutro que adiciona funcionalidades, mantendo a interface.

  • Funções de extensão (em Kotlin) — adicionar novas funções a classes existentes sem herança.

Exemplo de herança em Java:

public class BaseClass {
    public void doSomething() {
        System.out.println("Implementação base");
    }
}

public class ExtendedClass extends BaseClass {
    @Override
    public void doSomething() {
        super.doSomething();
        System.out.println("Funcionalidade estendida");
    }
}

Exemplo de função de extensão em Kotlin:

fun String.addExclamation(): String {
    return this + "!"
}

val greeting = "Hello".addExclamation() // "Hello!"

A escolha do método depende da tarefa específica e das restrições do projeto.