encapsulation java
Saznajte o enkapsulaciji u Javi s primjerima, zašto nam je potrebna, povezanim metodama dobivanja i postavljanja:
U ovom uputstvu razgovarat ćemo o još jednom OOP konceptu - „Kapsulacija“. OOP ima četiri stupa, naime, apstrakciju, inkapsulaciju, polimorfizam i nasljeđivanje.
Iako se apstrakcija koristi za izlaganje samo relevantnih detalja krajnjem korisniku, inkapsulacija se uglavnom bavi sigurnošću podataka. Da bi osigurao sigurnost podataka, enkapsulacija štiti članove podataka od neželjenog pristupa navođenjem modifikatora pristupa, a također grupira podatke u jednu jedinicu.
=> Ovdje pogledajte Savršeni vodič za Java obuku.
Pa kako možemo definirati enkapsulaciju u Javi?
Definicija inkapsulacije
'Inkapsulacija u Javi može se definirati kao mehanizam pomoću kojeg se podaci i metode koje rade na tim podacima umotaju u jednu jedinicu.'
Što ćete naučiti:
Što je enkapsulacija u Javi
Korištenjem enkapsulacije također možemo sakriti članove podataka klase (varijable) od ostalih klasa. Tim se varijablama članova podataka može pristupiti neizravno pomoću metoda klase u kojoj su deklarirane. Metodama se pak pristupa pomoću objekta te klase.
Dakle, ono što zaključujemo iz gornje definicije je da smo sakrili varijable člana podataka unutar klase i također odredili modifikatore pristupa tako da nisu dostupni ostalim klasama.
Stoga je enkapsulacija također vrsta 'skrivanja podataka', iako ćemo kasnije u tutorialu vidjeti da enkapsulacija nije isto što i skrivanje podataka.
Gornja slika predstavlja klasu koja je jedinica za enkapsulaciju koja objedinjuje podatke i metode koji djeluju na te podatke u jednu jedinicu.
kako gledati anime na mreži besplatno
Kako se enkapsulacija uglavnom bavi podacima, ona se alternativno naziva „enkapsulacija podataka“.
Kapsulaciju možemo vizualizirati kao medicinsku kapsulu. Kao što svi znamo, lijek je zatvoren unutar medicinske kapsule. Slično tome, podaci i metode zatvoreni su u jednu jedinicu u enkapsulaciji.
Stoga enkapsulacija djeluje kao zaštitni štit oko podataka i sprječava neovlašteni pristup vanjskog svijeta. Drugim riječima, štiti osjetljive podatke naše aplikacije.
U Javi postoje dva koraka za implementaciju enkapsulacije. Slijede koraci:
- Upotrijebite modifikator pristupa 'private' za deklariranje varijabli člana klase.
- Da bismo pristupili ovim varijablama privatnih članova i promijenili njihove vrijednosti, moramo osigurati javni način dobivanja i postavljanja.
Primijenimo sada primjer enkapsulacije u Javi.
Primjer Java enkapsulacije
//Student_Id and name bundled in a unit 'Student' => encapsulation class Student { private int Student_Id; private String name; //getters, setters for Student_Id and name fields. public int getId() { return Student_Id; } public void setId(int s_id) { this.Student_Id = s_id; } public String getname() { return name; } public void setname(String s_name) { this.name = s_name; } } class Main{ public static void main(String[] args) { //create an object of Student class Student s=new Student(); //set fields values using setter methods s.setId (27); s.setname('Tom Lee'); //print values using getter methods System.out.println('Student Data:' + '
Student ID:' + s.getId() + ' Student Name:' + s.getname()); } }
Izlaz:
U gornjem programu deklariramo klasu koja je jedinica za enkapsulaciju. Ovaj je predmet Student povezao podatke (Student_Id i ime) i metode za čitanje i postavljanje vrijednosti za te članove u jednu jedinicu.
Obratite pažnju na modifikatore pristupa pridružene poljima člana. Oba su polja člana privatna, tako da im nije moguće pristupiti izvan klase Student.
Pružamo gettere (getId i getname) za čitanje vrijednosti ovih polja i metode postavljača (setId i setname) za postavljanje vrijednosti za ove metode. Ovo je jedini pristup koji imaju, a to bi također trebalo učiniti pomoću objekta klase Student.
Metode getera i setera
Da bismo implementirali enkapsulaciju u Javi, varijable člana klase izrađujemo kao privatne. Sada ove privatne varijable nisu dostupne ničem izvan klase, uključujući objekt klase.
To znači ako imamo klasu ABC kako slijedi.
razred ABC {
privatno int doba;
}
Stvorimo objekt klase ABC kako slijedi:
ABC abc = novi ABC ();
abc.age = 21; // pogreška prevoditelja
Dakle, u gornjem kodu, pristup privatnoj varijabli pomoću objekta klase rezultirat će pogreškom kompajlera.
Da bismo pristupili privatnim varijablama i pročitali njihove vrijednosti i postavili neke nove vrijednosti u njih, potreban nam je način da to učinimo. Stoga Java pruža način za pristup privatnim varijablama pomoću metoda getter i setter.
Getter i Setteri su javne metode koje možemo koristiti za stvaranje, izmjenu, brisanje ili jednostavno prikaz vrijednosti privatnih varijabli.
Program u nastavku je primjer metoda Getter i Setter.
//Account class - private data members bundled with getters and setters class Account { //private data members private long acc_no; private String name,email; private float amount; //public getter and setter methods for each data member public long getAcc_no() { return acc_no; } public void setAcc_no(long acc_no) { this.acc_no = acc_no; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public float getAmount() { return amount; } public void setAmount(float amount) { this.amount = amount; } } public class Main { public static void main(String[] args) { //create instance of Account class Account myAcc=new Account(); //set values for data members through setter methods myAcc.setAcc_no(775492842L); myAcc.setName('SoftwareTestingHelp.com'); myAcc.setEmail('sth_account@sth.com'); myAcc.setAmount(25000f); //read data member values through getter methods System.out.println('Account No:' + myAcc.getAcc_no()+' '+'Account Name:' + myAcc.getName()+'
'+'Account holder email:' + myAcc.getEmail()+'
' + 'Amount in Account:' + myAcc.getAmount()); } }
Izlaz:
Gornji program ima klasu Račun i ima četiri privatne varijable povezane s računom. Kako su svi članovi podataka privatni, za svaku od ovih varijabli osigurali smo metode dobivanja i postavljanja.
U glavnoj metodi čitamo i postavljamo vrijednosti za ove privatne varijable pomoću javnih metoda dobivanja i postavljanja kojima se pristupa kroz objekt klase Račun.
Sakrivanje podataka u Javi
Često se međusobno koristimo enkapsulacijom i skrivanjem podataka. Ali oboje nisu isti. Java enkapsulacija bavi se grupiranjem povezanih podataka u jednu jedinicu kako bi se osiguralo bolje upravljanje i sigurnost podataka.
Skrivanje podataka s druge strane ograničava pristup članu podataka skrivanjem detalja implementacije. Iako enkapsulacija nije baš skrivanje podataka, ona nam pruža način skrivanja podataka. Sakrivanje podataka postiže se pomoću modifikatora pristupa.
Java nudi četiri modifikatora pristupa.
- javnost: Dostupno svima.
- privatna: Dostupno samo unutar predavanja.
- zaštićen: Dostupno paketu koji sadrži i potklasama.
- zadano: Dostupno u paketu.
Inkapsulacija objedinjuje podatke u jednu jedinicu, tako da ih na neki način skriva. Također, podatke čini privatnima te je prema tome nepristupačan vanjskom svijetu. Da bismo podatke učinili privatnima, koristimo modifikator pristupa private koji je koncept skrivanja podataka.
Istodobno, krajnjem se korisniku daju samo relevantni detalji bez izlaganja detalja implementacije, što je definicija apstrakcije. Tako enkapsulaciju možemo promatrati kao kombinaciju apstrakcije kao i skrivanja podataka.
Zašto nam je potrebna kapsulacija
Postoje različiti razlozi zašto je enkapsulacija bitna u Javi:
- Inkapsulacija nam omogućuje izmjenu koda ili dijela koda bez potrebe za promjenom bilo koje druge funkcije ili koda.
- Enkapsulacija kontrolira kako pristupamo podacima.
- Kôd možemo izmijeniti na temelju zahtjeva pomoću enkapsulacije.
- Inkapsulacija čini naše aplikacije jednostavnijima.
Često postavljana pitanja
P # 1) Zašto se enkapsulacija koristi u Javi?
Odgovor: Inkapsulacija u Javi uglavnom je korisna za sakrivanje podataka. Ili drugim riječima, odlučiti o pristupu danim podacima o tome tko im može pristupiti, a tko ne.
P # 2) Što je kapsulacija u OOP-u?
Odgovor: Inkapsulacija je jedan od važnih stupova objektno orijentiranog programskog jezika i bavi se grupiranjem podataka i metoda koje djeluju na tim podacima u jednu jedinicu. Na primjer, klasa u Javi je enkapsulirana struktura. Inkapsulacija se također bavi odlukama u vezi s pružanjem pristupa podacima.
to help desk pitanja i odgovori pdf
P # 3) Koja je prednost enkapsulacije u Javi?
Odgovor: Glavna prednost enkapsulacije u Javi je skrivanje podataka. Koristeći enkapsulaciju možemo dopustiti programeru da odluči o pristupu podacima i metodama koje djeluju na tim podacima. Na primjer, ako želimo da određeni podatak bude nedostupan nikome izvan razreda, tada te podatke učinimo privatnima.
P # 4) Što je postupak enkapsulacije?
Odgovor: Inkapsulacija je postupak preuzimanja podataka iz jednog formata ili protokola (mrežno rečeno) i njihovo prevođenje ili preoblikovanje u drugi format ili protokol tako da su podaci dostupni u aplikacijama ili mreži i istodobno su zaštićeni.
P # 5) Koji je zadnji korak u inkapsulaciji podataka?
Odgovor: Posljednji korak u inkapsulaciji je pretvaranje korisničkih podataka u ekvivalentne podatke. Zatim se ti podaci mijenjaju u segmente koji se dalje transformiraju u pakete podataka. Paketi podataka smješteni su u logički okvir koji se može prenijeti amo-tamo u softverskom okruženju
Zaključak
Ovim je završen naš vodič o enkapsulaciji u Javi. Inkapsulacija je tehnika spajanja varijabli člana i metoda koje djeluju na te članove podataka u jednu jedinicu. Klasa u Javi klasičan je primjer enkapsulacije jer umotava podatke i metode u jednu jedinicu.
Java postiže implementaciju enkapsulacije tako što čini sve članove podataka privatnima, a zatim pruža metode dobivanja i postavljanja koje su javne kako bismo mogli čitati vrijednosti privatnih varijabli i postavljati nove vrijednosti za te varijable.
=> Posjetite ovdje za ekskluzivnu seriju udžbenika za Java.
Preporučena literatura
- JAVA Tutorial za početnike: 100+ praktičnih Java Video tutorijala
- TreeMap u Javi - Vodič uz primjere Java TreeMap
- Dvostruki vodič za Java s primjerima programiranja
- Vodič za Java Float s primjerima programiranja
- Java Obrnuti niz: Vodič s primjerima programiranja
- Java Enum: Vodič za nabrajanje Java s primjerima
- Java Integer i Java BigInteger klasa s primjerima
- Java String sadrži () Vodič za metode s primjerima