Enkapsulacija u Java
โก Pametni saลพetak
Enkapsulacija u Java je mehanizam koji varijable i metode objedinjuje u jednu cjelinu, a pritom skriva interne detalje. ล titi podatke objekta koriลกtenjem privatnih polja i kontroliranog pristupa putem javnih metoda za dobivanje i postavljanje.

U ฤemu je enkapsulacija Java?
Enkapsulacija u Java je mehanizam za omotavanje varijabli (podataka) i metoda (koda) zajedno kao jednu jedinicu. To je proces skrivanja informacija i zaลกtite podataka i ponaลกanja objekta. To je jedan od ฤetiri vaลพna OOP koncepta. Encapsulate klasu je lako testirati, tako da je takoฤer bolja za jediniฤno testiranje.
Kliknite ovdje ako video nije dostupan
Nauฤite enkapsulaciju u Java s Primjerom
Da biste detaljno razumjeli ลกto je enkapsulacija, razmotrite sljedeฤu klasu bankovnog raฤuna s metodama depozita i prikaza stanja
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; } }
Pretpostavimo da je haker uspio doฤi do koda vaลกeg bankovnog raฤuna. Sada pokuลกava uplatiti iznos -100 na vaลก raฤun na dva naฤina. Pogledajmo njegovu prvu metodu ili pristup.
Pristup 1: Pokuลกava uplatiti nevaลพeฤi iznos (recimo -100) na vaลก bankovni raฤun manipulirajuฤi kodom.
Sad, pitanje je โ Je li to moguฤe? Neka se istraลพi. Obiฤno se varijabla u klasi postavlja kao "privatna" kao ลกto je prikazano u nastavku. Moลพe mu se pristupiti samo metodama definiranim u klasi. Nijedna druga klasa ili objekt im ne moลพe pristupiti.
Ako je podatkovni ฤlan privatan, to znaฤi da mu se moลพe pristupiti samo unutar iste klase. Nijedna vanjska klasa ne moลพe pristupiti ฤlanu privatnih podataka ili varijabli druge klase. Dakle, u naลกem sluฤaju haker ne moลพe poloลพiti iznos -100 na vaลก raฤun.
Pristup 2: Hakerov prvi pristup nije uspio uplatiti iznos. Zatim pokuลกava uplatiti iznos od -100 koristeฤi metodu "uplata".
Ali implementacija metode ima provjeru negativnih vrijednosti. Dakle, drugi pristup takoฤer ne uspijeva.
Stoga nikada ne izlaลพete svoje podatke vanjskoj strani. ล to vaลกu aplikaciju ฤini sigurnom.
Cijeli se kod moลพe zamisliti kao kapsula, a komunicirati moลพete samo putem poruka. Otuda naziv enkapsulacija.
Skrivanje podataka u Java
Skrivanje podataka u Java skriva varijable klase od drugih klasa. Moลพe mu se pristupiti samo putem metode njihove trenutne klase. Skriva detalje implementacije od korisnika. Ali viลกe od skrivanja podataka, namijenjen je boljem upravljanju ili grupi.ping povezanih podataka. Kako bi se postigao manji stupanj enkapsulacije u Java, moลพete koristiti modifikatore poput "zaลกtiฤeno" ili "javno". S enkapsulacijom, programeri mogu lako promijeniti jedan dio koda bez utjecaja na drugi.
Ubacivaฤ i postavljaฤ Java
Ubacivaฤ i postavljaฤ Java dvije su konvencionalne metode koje se koriste za dohvaฤanje i aลพuriranje vrijednosti varijable. Uglavnom se koriste za stvaranje, modificiranje, brisanje i pregled vrijednosti varijabli. Metoda postavljaฤa koristi se za aลพuriranje vrijednosti, a metoda dobivanja koristi se za ฤitanje ili dohvaฤanje vrijednosti. Takoฤer su poznati kao akcesor i mutator.
Sljedeฤi kod je primjer getter i setter metoda:
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; } }
U gornjem primjeru, getBalance() metoda je getter metoda koja ฤita vrijednost varijable account_balance, a setNumber() metoda je setter metoda koja postavlja ili aลพurira vrijednost za varijablu account_number.
Kormilartraccija u odnosu na enkapsulaciju
ฤesto se enkapsulacija pogreลกno shvaฤa KormilartracANJE. Idemo uฤiti-
- Enkapsulacija je viลกe o tome "kako" postiฤi funkcionalnost
- Kormilartraccija se viลกe odnosi na โลกtoโ klasa moลพe uฤiniti.
Jednostavan primjer za razumijevanje ove razlike je mobilni telefon. Gdje je sloลพena logika na tiskanoj ploฤici uklopljena u zaslon osjetljiv na dodir, a suฤelje je osigurano za ABS...tracIzbaci to.
Prednosti enkapsulacije u Java
- Enkapsulacija je povezivanje podataka s pripadajuฤim funkcijama. Ovdje funkcionalnosti znaฤe "metode", a podaci "varijable"
- Dakle, varijable i metode drลพimo na jednom mjestu. To mjesto je "razred". Klasa je baza za enkapsulaciju.
- Kontakt Java Enkapsulacija, moลพete sakriti (ograniฤiti pristup) kritiฤnim ฤlanovima podataka u vaลกem kodu, ลกto poboljลกava sigurnost
- Kao ลกto smo ranije spomenuli, ako je podatkovni ฤlan proglaลกen "privatnim", tada mu se moลพe pristupiti samo unutar iste klase. Nijedna vanjska klasa ne moลพe pristupiti podatkovnom ฤlanu (varijabli) druge klase.
- Meฤutim, ako trebate pristupiti ovim varijablama, morate koristiti javni "dobavljaฤ" i "postavljaฤ" metode.






