Sobes.tech
Junior — Middle

Објасните концепт класе-обвивке и њену сврху у објектно оријентисаном програмирању.

sobes.tech АИ

Одговор од АИ

Класа за омотавање (wrapper class) у објектно оријентисаном програмирању је класа која "омотава" други објекат или примитивни тип података, пружајући додатну функционалност или интерфејс. Главни циљеви класе за омотавање:

  • Инкапсулација примитивних типова у објекте (на пример, у Јави постоје класе за омотавање за примитивне типове: 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;
    }
}

Овим се класа за омотавање проширује функционалност или прилагођава понашање оригиналног објекта.