encapsulation java
Aflați mai multe despre încapsularea în Java cu exemple, de ce avem nevoie de ea, metodele asociate getter și setter:
În acest tutorial, vom discuta un alt concept OOP - „Incapsulare”. POO are patru piloni și anume, abstractizare, încapsulare, polimorfism și moștenire.
În timp ce abstractizarea este utilizată pentru a expune doar detaliile relevante utilizatorului final, încapsularea se ocupă în principal de securitatea datelor. În asigurarea securității datelor, încapsularea protejează membrii datelor de acces nedorit prin specificarea modificatorilor de acces și, de asemenea, grupează datele într-o singură unitate.
=> Consultați aici Ghidul perfect de instruire Java.
Deci, cum putem defini încapsularea în Java?
Definiția Encapsulation
„Incapsularea în Java poate fi definită ca un mecanism prin care datele și metodele care lucrează pe acele date sunt împachetate pentru a forma o singură unitate.”
Ce veți învăța:
Ce este încapsularea în Java
Folosind încapsularea putem ascunde, de asemenea, membrii de date de clasă (variabile) de la celelalte clase. Aceste variabile membre de date pot fi accesate indirect folosind metode ale clasei în care sunt declarate. Metodele la rândul lor sunt accesate folosind obiectul clasei respective.
Deci, ceea ce concluzionăm din definiția de mai sus este că am ascuns variabilele membre ale datelor într-o clasă și am specificat și modificatorii de acces, astfel încât să nu fie accesibile celorlalte clase.
Astfel, încapsularea este, de asemenea, un fel de „ascundere de date”, deși mai târziu în tutorial vom vedea că încapsularea nu este același cu ascunderea datelor.

Figura de mai sus reprezintă o clasă care este o unitate de încapsulare care grupează datele și metodele care operează pe aceste date într-o singură unitate.
Întrucât încapsularea se ocupă în principal de date, este denumită alternativ „încapsularea datelor”.
Putem vizualiza încapsularea ca o capsulă medicală. După cum știm cu toții, medicamentul este închis într-o capsulă medicală. În mod similar, datele și metodele sunt închise într-o singură unitate în încapsulare.
cum să redați fișiere SWF pe Windows 7
Astfel încapsularea acționează ca un scut de protecție în jurul datelor și împiedică accesul neautorizat al datelor de către lumea exterioară. Cu alte cuvinte, protejează datele sensibile ale aplicației noastre.
În Java, există doi pași pentru implementarea încapsulării. Urmează pașii:
jms întrebări și răspunsuri la interviu pentru experți
- Utilizați modificatorul de acces „privat” pentru a declara variabilele membre ale clasei.
- Pentru a accesa aceste variabile de membru privat și a le schimba valorile, trebuie să le oferim metodelor publice getter și respectiv setter.
Să implementăm acum exemplul încapsulării în Java.
Exemplu de încapsulare Java
//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()); } } Ieșire:

În programul de mai sus, declarăm o clasă care este unitatea de încapsulare. Această clasă Student a grupat datele (Student_Id și nume) și metodele de citire și setare a valorilor acestor membri într-o singură unitate.
Rețineți modificatorii de acces asociați câmpurilor membre. Ambele câmpuri membre sunt private, astfel încât să nu fie accesibile în afara clasei Student.
Oferim getters (getId și getname) pentru a citi valorile acestor câmpuri și metode de setare (setId și setname) pentru a seta valori pentru aceste metode. Acesta este singurul acces pe care îl au și care ar trebui, de asemenea, să fie făcut folosind obiectul clasei Student.
Metode Getter și Setter
Pentru a implementa încapsularea în Java, facem variabilele membre ale clasei ca private. Acum, aceste variabile private nu sunt accesibile pentru nimic din afara clasei, inclusiv obiectului clasei.
Aceasta înseamnă dacă avem o clasă ABC după cum urmează.
clasa ABC {
privat int age;
}
Să creăm un obiect din clasa ABC după cum urmează:
ABC abc = ABC nou ();
vârsta abc = 21; // eroare compilator
Deci, în codul de mai sus, accesarea variabilei private folosind obiectul clasei va avea ca rezultat o eroare a compilatorului.
Pentru a accesa variabilele private și a le citi valorile și a seta câteva valori noi în ele, avem nevoie de o modalitate de a face acest lucru. Astfel, Java oferă o modalitate de a accesa variabilele private folosind metode getter și setter.
Getter și Seters sunt metode publice pe care le putem folosi pentru a crea, modifica, șterge sau pur și simplu vizualiza valorile variabilelor private.
Programul de mai jos este un exemplu de metode 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()); } } Ieșire:

Programul de mai sus are un cont de clasă și are patru variabile private legate de cont. Deoarece toți membrii datelor sunt private, am furnizat metodele getter și setter pentru fiecare dintre aceste variabile.
tip de testare în ingineria software
În metoda principală, citim și setăm valori pentru aceste variabile private utilizând metodele publice getter și setter accesate prin obiectul clasei Cont.
Ascunderea datelor în Java
În mod frecvent, folosim încapsularea și ascunderea datelor în mod interschimbabil. Dar ambele nu sunt la fel. Incapsularea Java se ocupă de gruparea datelor conexe într-o singură unitate pentru a asigura o mai bună gestionare și securitate a datelor.
Ascunderea datelor pe de altă parte restricționează accesul membrilor de date ascunzând detaliile implementării. Deși încapsularea nu este tocmai ascunderea datelor, aceasta ne oferă modul de ascundere a datelor. Ascunderea datelor se realizează folosind modificatori de acces.
Java oferă patru modificatori de acces.
- public: Accesibil tuturor.
- privat: Accesibil numai în cadrul clasei.
- protejat: Accesibil pachetului care conține și subclaselor.
- Mod implicit: Accesibil în cadrul pachetului.
Incapsularea grupează datele într-o singură unitate, astfel încât într-un fel, ascunde datele. De asemenea, face ca datele să fie private și astfel sunt inaccesibile pentru lumea exterioară. Pentru a face datele private, folosim modificatorul de acces privat, care este un concept de ascundere a datelor.
În același timp, doar detaliile relevante sunt furnizate utilizatorului final, fără a expune detaliile de implementare, care este o definiție a abstractizării. Astfel, putem vedea încapsularea ca o combinație de abstractizare, precum și de ascundere a datelor.
De ce avem nevoie de încapsulare
Există diverse motive pentru care încapsularea este esențială în Java:
- Incapsularea ne permite să modificăm codul sau o parte a codului fără a fi nevoie să schimbăm alte funcții sau cod.
- Incapsularea controlează modul în care accesăm datele.
- Putem modifica codul pe baza cerințelor folosind încapsularea.
- Incapsularea simplifică aplicațiile noastre.
întrebări frecvente
Q # 1) De ce se utilizează încapsularea în Java?
Răspuns: Incapsularea în Java este utilă în mare parte pentru a ascunde datele. Sau, cu alte cuvinte, să decidă despre accesul acordat datelor cu privire la cine le poate accesa și cine nu.
Q # 2) Ce este încapsularea în POO?
Răspuns: Incapsularea este unul dintre pilonii importanți ai limbajului de programare orientat pe obiecte și se ocupă de gruparea de date și metodele care operează pe aceste date într-o singură unitate. De exemplu, o clasă în Java este o structură încapsulată. Incapsularea se ocupă și de deciziile privind furnizarea accesului la date.
Q # 3) Care este avantajul Encapsulării în Java?
Răspuns: Avantajul major al încapsulării în Java este ascunderea datelor. Folosind încapsularea putem permite programatorului să decidă asupra accesului la date și metodelor care operează pe aceste date. De exemplu, dacă dorim ca o anumită bucată de date să fie inaccesibilă pentru oricine din afara clasei, atunci facem aceste date private.
Q # 4) Ce este procesul de încapsulare?
Răspuns: Incapsularea este un proces de preluare a datelor dintr-un format sau protocol (în termeni de rețea) și traducere sau reformatare a acestora într-un alt format sau protocol, astfel încât datele să fie accesibile în toate aplicațiile sau rețeaua și în același timp să fie protejate.
Q # 5) Care este ultimul pas în încapsularea datelor?
Răspuns: Ultimul pas în încapsulare este schimbarea informațiilor utilizatorului în date echivalente. Apoi aceste date sunt schimbate în segmente care sunt transformate în continuare în pachete de date. Pachetele de date sunt plasate într-un cadru logic care poate fi transferat înainte și înapoi în mediul software
Concluzie
Aceasta încheie tutorialul nostru despre încapsularea în Java. Incapsularea este o tehnică de grupare a variabilelor membre și a metodelor care operează pe acești membri de date într-o singură unitate. O clasă în Java este un exemplu clasic de încapsulare, deoarece împachetează datele și metodele într-o singură unitate.
Java realizează implementarea încapsulării făcând toți membrii de date private și apoi furnizând metode getter și setter care sunt publice, astfel încât să putem citi valorile variabilelor private și să setăm valori noi pentru aceste variabile.
=> Vizitați aici pentru seria exclusivă de instruire Java.
Lectură recomandată
- Tutorial JAVA pentru începători: peste 100 de tutoriale video Java practice
- TreeMap în Java - Tutorial cu exemple de TreeMap Java
- Java Double - Tutorial cu exemple de programare
- Tutorial Java Float cu exemple de programare
- Java Reverse String: Tutorial cu exemple de programare
- Java Enum: Tutorial de enumerare Java cu exemple
- Java Integer și Java BigInteger Class cu exemple
- Șirul Java conține () Tutorial metodă cu exemple