Sobes.tech
Junior — Middle

Explicați conceptul de clasă de tip wrapper și scopul său în programarea orientată pe obiecte.

sobes.tech AI

Răspuns de la AI

O clasă de tip wrapper (clasă de înveliș) în programarea orientată pe obiecte este o clasă care "învelește" un alt obiect sau un tip de date primitiv, oferind funcționalitate suplimentară sau o interfață. Scopurile principale ale clasei wrapper:

  • Încapsularea tipurilor primitive în obiecte (de exemplu, în Java există clase wrapper pentru primitive: Integer, Double etc.).
  • Adăugarea de logică suplimentară la accesarea datelor sau metodelor.
  • Asigurarea compatibilității cu API-urile care necesită obiecte în loc de primitive.
  • Gestionarea ciclului de viață sau a stării obiectului învelit.

Exemplu: o clasă wrapper pentru un șir de caractere care adaugă o metodă pentru numărarea cuvintelor.

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;
    }
}

Astfel, clasa wrapper extinde funcționalitatea sau adaptează comportamentul obiectului original.