encapsulation java
Obteniu informació sobre l’encapsulació a Java amb exemples, per què ho necessitem, mètodes de configuració i configuració associats:
En aquest tutorial, parlarem d'un altre concepte de POO: 'Encapsulació'. OOP té quatre pilars, a saber, l’abstracció, l’encapsulació, el polimorfisme i l’herència.
Tot i que l’abstracció s’utilitza per exposar només els detalls rellevants a l’usuari final, l’encapsulació tracta principalment de la seguretat de les dades. En garantir la seguretat de les dades, l’encapsulació protegeix els membres de les dades d’accés no desitjat especificant modificadors d’accés i també agrupa les dades en una sola unitat.
=> Consulteu la guia de formació Java perfecta aquí.
https www google comyoutube a mp3
Llavors, com podem definir l’encapsulació a Java?
Definició d’encapsulació
'L'encapsulació a Java es pot definir com un mecanisme mitjançant el qual s'ajusten les dades i els mètodes que funcionen sobre aquestes dades per formar una sola unitat'.
Què aprendreu:
Què és l’encapsulació a Java
Mitjançant l’encapsulació també podem amagar els membres de les dades de classe (variables) de les altres classes. Es pot accedir indirectament a aquestes variables membre de dades mitjançant mètodes de la classe en què es declaren. Al seu torn, s’accedeix als mètodes mitjançant l’objecte d’aquesta classe.
Per tant, el que podem concloure de la definició anterior és que hem amagat les variables membre de les dades dins d’una classe i també hem especificat els modificadors d’accés perquè no siguin accessibles a les altres classes.
Per tant, l'encapsulació també és una mena de 'ocultació de dades', tot i que més endavant al tutorial veurem que l'encapsulació no és el mateix que ocultar dades.
La figura anterior representa una classe que és una unitat d’encapsulació que agrupa les dades i mètodes que operen en aquestes dades en una sola unitat.
Com que l'encapsulació tracta principalment de dades, també s'anomena 'encapsulació de dades'.
Podem visualitzar l’encapsulació com una càpsula mèdica. Com tots sabem, el medicament es troba dins d’una càpsula mèdica. De la mateixa manera, les dades i els mètodes estan inclosos en una sola unitat en encapsulació.
Per tant, l’encapsulació actua com un escut protector al voltant de les dades i impedeix que les dades tinguin accés no autoritzat pel món exterior. En altres paraules, protegeix les dades sensibles de la nostra aplicació.
A Java, hi ha dos passos per implementar l’encapsulació. A continuació es detallen els passos següents:
- Utilitzeu el modificador d’accés ‘privat’ per declarar les variables membre de la classe.
- Per accedir a aquestes variables de membre privat i canviar-ne els valors, hem de proporcionar els mètodes getter i setter públics respectivament.
Implantem ara l’exemple d’encapsulació a Java.
Exemple d’encapsulació de 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()); } }
Sortida:
Al programa anterior, declarem una classe que és la unitat d’encapsulació. Aquesta classe Student ha agrupat les dades (Student_Id i name) i els mètodes per llegir i establir valors per a aquests membres en una sola unitat.
Tingueu en compte els modificadors d'accés associats als camps membres. Tots dos camps membres són privats, de manera que no són accessibles fora de la classe Student.
Proporcionem getters (getId i getname) per llegir els valors d’aquests camps i mètodes de configuració (setId i setname) per establir valors per a aquests mètodes. Aquest és l'únic accés que tenen i que també s'hauria de fer mitjançant l'objecte de la classe Student.
Mètodes Getter i Setter
Per implementar l’encapsulació a Java, fem que les variables membres de les dades de la classe siguin privades. Ara, aquestes variables privades no són accessibles a res fora de la classe, inclòs l’objecte de classe.
Això significa que si tenim una classe ABC de la següent manera.
classe ABC {
edat privada privada;
}
Creem un objecte de la classe ABC de la manera següent:
ABC abc = nou ABC ();
abc.age = 21; // error del compilador
Així doncs, al codi anterior, accedir a la variable privada mitjançant l’objecte class donarà lloc a un error del compilador.
Per accedir a les variables privades i llegir-ne els valors i establir-hi alguns nous, necessitem alguna manera de fer-ho. Per tant, Java proporciona una manera d’accedir a variables privades mitjançant mètodes getter i setter.
Getter i Setters són mètodes públics que podem utilitzar per crear, modificar, eliminar o simplement visualitzar els valors de les variables privades.
El programa següent és un exemple de mètodes 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()); } }
Sortida:
El programa anterior té un compte de classe i té quatre variables privades relacionades amb el compte. Com que tots els membres de les dades són privats, hem proporcionat els mètodes getter i setter per a cadascuna d'aquestes variables.
Al mètode principal, llegim i establim valors per a aquestes variables privades mitjançant els mètodes getter i setter públics als quals s’accedeix a través de l’objecte de la classe Account.
Ocultació de dades a Java
Freqüentment fem servir encapsulació i ocultació de dades indistintament. Però tots dos no són iguals. L’encapsulació Java tracta de l’agrupació de dades relacionades en una sola unitat per garantir una millor gestió i seguretat de les dades.
quin dels següents proporciona un programa remot que sembla una aplicació local?
L'amagatament de dades, d'altra banda, restringeix l'accés del membre de dades amagant els detalls de la implementació. Tot i que l’encapsulació no és exactament l’amagatall de dades, ens proporciona la manera d’amagar-les. L’amagatall de dades s’aconsegueix mitjançant modificadors d’accés.
Java proporciona quatre modificadors d'accés.
- públic: Accessible per a tothom.
- privat: Accessible només a la classe.
- protegit: Accessible al paquet que conté i a les subclasses.
- per defecte: Accessible al paquet.
L’encapsulament agrupa les dades en una sola unitat, de manera que en certa manera amaga les dades. A més, fa que les dades siguin privades i, per tant, siguin inaccessibles al món exterior. Per fer les dades privades, fem servir el modificador d’accés privat, que és un concepte d’amagatall de dades.
Al mateix temps, només es proporcionen a l'usuari els detalls rellevants sense exposar els detalls de la implementació, que és una definició d'abstracció. Així, podem veure l’encapsulació com una combinació d’abstracció i d’ocultació de dades.
Per què necessitem l’encapsulació?
Hi ha diversos motius pels quals l'encapsulació és essencial a Java:
- L’encapsulació ens permet modificar el codi o una part del codi sense haver de canviar cap altra funció o codi.
- L’encapsulació controla com accedim a les dades.
- Podem modificar el codi en funció dels requisits mitjançant l’encapsulació.
- L’encapsulació facilita les nostres aplicacions.
Preguntes freqüents
P # 1) Per què s’utilitza l’encapsulació a Java?
Resposta: L’encapsulació a Java és útil sobretot per amagar les dades. O dit d’una altra manera, decidir sobre l’accés donat a les dades sobre qui hi pot accedir i qui no.
Q # 2) Què és l’encapsulació a POO?
Resposta: L’encapsulació és un dels pilars importants del llenguatge de programació orientat a objectes i tracta de l’agrupació de dades i mètodes que operen en aquestes dades en una sola unitat. Per exemple, una classe en Java és una estructura encapsulada. L'encapsulació també tracta les decisions relatives a proporcionar accés a les dades.
P # 3) Quin és l'avantatge de l'encapsulació a Java?
Resposta: L’avantatge principal de l’encapsulació a Java és l’amagatall de dades. Mitjançant l’encapsulació podem permetre al programador decidir l’accés a les dades i els mètodes que operen en aquestes dades. Per exemple, si volem que una dada concreta sigui inaccessible per a qualsevol persona que no sigui de la classe, fem que aquestes dades siguin privades.
Q # 4) Què és el procés d’encapsulació?
Resposta: L’encapsulació és un procés de recollida de dades d’un format o protocol (en termes de xarxa) i la seva traducció o formatatge a un altre format o protocol de manera que les dades siguin accessibles a través de les aplicacions o de la xarxa i, al mateix temps, estiguin protegides.
Q # 5) Quin és l'últim pas en l'encapsulació de dades?
Resposta: L’últim pas de l’encapsulació és canviar la informació de l’usuari per dades equivalents. Després, aquestes dades es canvien en segments que es transformen en paquets de dades. Els paquets de dades es col·loquen en un marc lògic que es pot transferir d'anada i tornada a l'entorn del programari
Conclusió
D’aquesta manera es conclou el nostre tutorial sobre Encapsulació a Java. L’encapsulació és una tècnica per agrupar variables de membres i els mètodes que operen en aquests membres de dades en una sola unitat. Una classe a Java és un exemple clàssic d’encapsulació, ja que embolcalla les dades i els mètodes en una sola unitat.
Java aconsegueix la implementació de l’encapsulació fent que tots els membres de les dades siguin privats i, a continuació, proporcionin mètodes getter i setter que siguin públics perquè puguem llegir els valors de les variables privades i establir nous valors per a aquestes variables.
=> Visiteu aquí la sèrie exclusiva de cursos de formació de Java.
Lectura recomanada
- Tutorial JAVA per a principiants: més de 100 tutorials pràctics de vídeo Java
- TreeMap a Java: tutorial amb exemples de Java TreeMap
- Java Double - Tutorial amb exemples de programació
- Tutorial Java Float amb exemples de programació
- Java Reverse String: Tutorial amb exemples de programació
- Java Enum: Tutorial d’enumeració de Java amb exemples
- Java Integer i Java BigInteger Class amb exemples
- Java String conté () Tutorial de mètode amb exemples