Sobes.tech
Intern

V čom spočíva zmysel enkapsulácie?

sobes.tech AI

Odpoveď od AI

Suština enkapsulacije u Javi sastoji se u skrivanju detalja implementacije klase i pružanju kontrolisanog pristupa njenim podacima putem javnih metoda.

To se postiže na sledeće načine:

  • Deklarisanjem polja klase kao private: Ovo ih čini nedostupnim direktno izvan klase.
  • Obezbeđivanjem javnih metoda (gettera i settera): Kroz ove metode se mogu dobijati i menjati vrednosti polja, a u setterima se može dodati logika za proveru ispravnosti podataka.

Prednosti:

  • Kontrola pristupa: Omogućava upravljanje time kako se podaci klase koriste i menjaju.
  • Fleksibilnost: Unutrašnja implementacija klase može se menjati bez uticaja na kod koji je koristi (jer interakcija se vrši putem javnog interfejsa).
  • Zaštita podataka: Sprečava neovlašćeni ili nepravilni pristup i izmene podataka.
  • Smanjenje složenosti: Skrivanjem unutrašnjih detalja, olakšava se razumevanje i korišćenje klase.

Primer:

class Car {
    private String model; // Privatno polje

    public String getModel() { // Getter za pristup modelu
        return model;
    }

    public void setModel(String model) { // Setter za promenu modela sa validacijom
        if (model != null && !model.isEmpty()) {
            this.model = model;
        } else {
            System.out.println("Nevažeći model!");
        }
    }
}