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!");
}
}
}