Sobes.tech
Junior — Middle

Обяснете концепцията за клас-обвивка и нейното предназначение в обектно-ориентираното програмиране.

sobes.tech AI

Отговор от AI

Класът-обвивка (wrapper class) в обектно-ориентираното програмиране е клас, който "обгръща" друг обект или примитивен тип данни, предоставяйки допълнителна функционалност или интерфейс. Основните цели на класа-обвивка:

  • Инкапсулиране на примитивни типове в обекти (например, в Java има класове-обвивки за примитиви: Integer, Double и т.н.).
  • Добавяне на допълнителна логика при достъп до данни или методи.
  • Осигуряване на съвместимост с API, които изискват обекти вместо примитиви.
  • Управление на жизнения цикъл или състоянието на обвивания обект.

Пример: клас-обвивка за низ, който добавя метод за броене на думи.

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

Така, класът-обвивка разширява функционалността или адаптира поведението на оригиналния обект.