Sobes.tech
Intern
160

Mi az inkapszuláció értelme?

Válasz az MI-től

sobes.tech MI

A Java-ban az enkapszuláció lényege az, hogy elrejtsük egy osztály implementációs részleteit, és kontrollált hozzáférést biztosítsunk az adataihoz nyilvános metódusokon keresztül.

Ez úgy érhető el, hogy:

  • Az osztály mezőit private-ként deklaráljuk: Ez megakadályozza, hogy közvetlenül hozzáférjenek kívülről.
  • Nyilvános (public) metódusokat (getterek és setterek) biztosítunk: Ezeken keresztül lehet az értékeket lekérdezni és módosítani, a setterekben pedig logikát lehet hozzáadni az adatok helyességének ellenőrzésére.

Előnyök:

  • Hozzáférés-ellenőrzés: Lehetővé teszi, hogy szabályozzuk, hogyan használják és módosítják az osztály adatait.
  • Rugalmasság: Az osztály belső megvalósítása változhat anélkül, hogy a használó kódot befolyásolná (mivel az interakció nyilvános interfészen keresztül történik).
  • Adatvédelem: Megakadályozza az illetéktelen vagy helytelen hozzáférést és módosítást.
  • Komplexitás csökkentése: A belső részletek elrejtésével egyszerűbbé válik az osztály megértése és használata.

Példa:

class Car {
    private String model; // Privát mező

    public String getModel() { // Getter a modell eléréséhez
        return model;
    }

    public void setModel(String model) { // Setter a modell módosításához, validációval
        if (model != null && !model.isEmpty()) {
            this.model = model;
        } else {
            System.out.println("Érvénytelen modell!");
        }
    }
}