Kapszulázás be Java
⚡ Okos összefoglaló
Kapszulázás be Java egy olyan mechanizmus, amely egyetlen egységbe csomagolja a változókat és a metódusokat, miközben elrejti a belső részleteket. Privát mezőkkel védi az objektum adatait, és nyilvános getter és setter metódusokon keresztül szabályozott hozzáférést biztosít.

Mi az a kapszulázás Java?
Kapszulázás be Java egy olyan mechanizmus, amely a változókat (adatokat) és a módszereket (kódot) egyetlen egységként fogja össze. Ez az információs részletek elrejtésének, valamint az objektum adatainak és viselkedésének védelmének folyamata. Ez egyike a négy fontos OOP-fogalomnak. A beágyazott osztály könnyen tesztelhető, így egységtesztelésre is jobb.
Kattints itt ha a videó nem érhető el
Tanulja meg az Encapsulation in Java példával
A beágyazás részletesebb megértéséhez tekintse át a következő bankszámlaosztályt a befizetési és egyenlegkimutatási módszerekkel
class Account { private int account_number; private int account_balance; public void show Data() { // code to show data } public void deposit(int a) { if (a < 0) { // show error } else account_balance = account_balance + a; } }
Tegyük fel, hogy egy hackernek sikerült hozzáférnie bankszámlája kódjához. Most kétféleképpen próbál meg -100 összeget befizetni a számlájára. Lássuk az első módszerét vagy megközelítését.
1. megközelítés: Érvénytelen összeget (mondjuk -100-at) próbál befizetni a bankszámlájára a kód manipulálásával.
A kérdés most az - Ez lehetséges? Hadd nyomozzon. Általában az osztályban lévő változók „privát”-ként vannak beállítva, az alábbiak szerint. Csak az osztályban meghatározott metódusokkal érhető el. Más osztály vagy objektum nem férhet hozzájuk.
Ha egy adattag privát, az azt jelenti, hogy csak ugyanazon az osztályon belül érhető el. Egyetlen külső osztály sem férhet hozzá más osztály privát adattagjához vagy változójához. Így esetünkben a hacker nem tud -100 összeget befizetni a számlájára.
2. megközelítés: A hacker első próbálkozása nem sikerült befizetnie a kívánt összeget. Ezután megpróbál -100-at befizetni a „befizetés” metódussal.
De a metódus implementációja ellenőrzi a negatív értékeket. Tehát a második megközelítés is kudarcot vall.
Így soha nem adja ki adatait külső félnek. Ez biztonságossá teszi az alkalmazást.
A teljes kód egy kapszulának tekinthető, és csak az üzeneteken keresztül lehet kommunikálni. Innen a kapszulázás elnevezés.
Adatok elrejtése Java
Adatok elrejtése Java elrejti egy osztály változóit más osztályok elől. Csak az aktuális osztály metódusán keresztül érhető el. Elrejti a megvalósítás részleteit a felhasználók elől. De az adatrejtésnél többre szolgál, mint a jobb kezelés vagy csoportosítás.ping a kapcsolódó adatokból. A kisebb mértékű beágyazás elérése érdekében Java, használhat olyan módosítókat, mint a „védett” vagy „nyilvános”. A tokozással a fejlesztők könnyedén megváltoztathatják a kód egyik részét anélkül, hogy ez másokat érintene.
Getter és Setter be Java
Getter és Setter be Java két hagyományos módszer egy változó értékeinek lekérésére és frissítésére. Főleg változóértékek létrehozására, módosítására, törlésére és megtekintésére szolgálnak. A setter módszert az értékek frissítésére, a getter módszert pedig az értékek olvasására vagy lekérésére használják. Kiegészítőként és mutátorként is ismertek.
A következő kód egy példa a getter és setter metódusokra:
class Account{ private int account_number; private int account_balance; // getter method public int getBalance() { return this.account_balance; } // setter method public void setNumber(int num) { this.account_number = num; } }
A fenti példában a getBalance() metódus egy getter metódus, amely beolvassa az account_balance változó értékét, és a setNumber() metódus egy setter metódus, amely beállítja vagy frissíti az account_number változó értékét.
Abstracció vs. beágyazás
A kapszulázást gyakran félreértik AbstracCIÓ. Tanuljunk-
- A beágyazás inkább arról szól, hogy „Hogyan” érhető el egy funkcionalitás
- AbstracA „mire” képes egy osztály.
Egy egyszerű példa ennek a különbségnek a megértésére a mobiltelefon. Ahol az áramköri lap komplex logikája egy érintőképernyőbe van ágyazva, és a felületet az abs számára biztosítják.tractedd ki.
A kapszulázás előnyei Java
- A beágyazás az adatokat a kapcsolódó funkciókkal köti össze. Itt a funkcionalitások „módszereket”, az adatok pedig „változókat” jelentenek.
- Tehát a változókat és a metódusokat egy helyen tartjuk. Ez a hely „osztály”. Az osztály a kapszulázás alapja.
- A Java Beágyazás, elrejtheti (korlátozhatja a hozzáférést) a kritikus adattagok számára a kódban, ami javítja a biztonságot
- Ahogy arról korábban szó volt, ha egy adattag „privát”-ként van deklarálva, akkor az csak ugyanazon az osztályon belül érhető el. Egyetlen külső osztály sem férhet hozzá egy másik osztály adattagjához (változójához).
- Ha azonban hozzá kell férnie ezekhez a változókhoz, akkor használnia kell nyilvános „getter” és „beállító” mód.






