Sobes.tech
Junior — Middle

Explique o conceito de classe envolvente e a sua finalidade na programação orientada a objetos.

sobes.tech IA

Resposta da IA

Uma classe envoltória (wrapper class) na programação orientada a objetos é uma classe que "envia" outro objeto ou tipo de dado primitivo, fornecendo funcionalidade adicional ou uma interface. Os principais propósitos da classe envoltória:

  • Encapsulamento de tipos primitivos em objetos (por exemplo, em Java, existem classes envoltórias para primitivos: Integer, Double, etc.).
  • Adição de lógica adicional ao acessar dados ou métodos.
  • Garantir compatibilidade com APIs que requerem objetos em vez de primitivos.
  • Gerenciar o ciclo de vida ou estado do objeto envolvido.

Exemplo: uma classe envoltória para uma string que adiciona um método de contagem de palavras.

public class StringWrapper {
    private String str;

    public StringWrapper(String str) {
        this.str = str;
    }

    public int wordCount() {
        if (str == null || str.isEmpty()) return 0;
        return str.trim().split("\\s+").length;
    }

    public String get() {
        return str;
    }
}

Assim, a classe envoltória amplia a funcionalidade ou adapta o comportamento do objeto original.