Încapsulare în java

Pentru toate clasele acestui pachet

Membrii publici ai clasei constituie funcționalități externe disponibile pentru alte clase. Membrii privați sunt de obicei declarați independenți de membrii funcționali externi, precum și de metodele auxiliare, care sunt doar detalii ale implementării și non-universale. Prin ascunderea implementării unei clase, puteți schimba logica internă a unei anumite clase fără a schimba codul pentru componentele rămase ale sistemului.







Acesta este adesea folosit de programatori acces la proprietățile de clasă prin metodele sale (clase de fasole de principiu), care vă permite să validați valori de câmp ca un apel direct la proprietățile este extrem de dificil de a urmări, astfel încât acestea să poată fi atribuite valori incorecte în timpul rulării programului. Acest principiu se referă la gestionarea datelor încapsulate și vă permite să modificați rapid modul în care sunt stocate datele. În cazul în care datele vor fi stocate în memorie nu, în fișiere sau baze de date, va trebui să modificați un număr de metode dintr-o clasă, și să nu introducă această funcționalitate în toate părțile sistemului.

Codul programului scris folosind acest principiu este mai ușor de depanat. Pentru a ști la ce moment de timp, și care a schimbat proprietatea unui obiect de interes pentru noi, este suficient pentru a adăuga de ieșire de depanare în metoda a obiectului, prin care accesul la proprietate al obiectului. Când se utilizează accesul direct la proprietățile obiectelor, programatorul ar trebui să adauge datele de depanare la toate părțile din cod unde este folosit obiectul de interes.







Avtoupakovka (outboxing)

În Java 2 5.0 au fost introduse primitive automate de despachetare. Auto-pack este un proces de încapsulare automată a datelor primitive (un tip simplu) într-o coajă echivalentă de tip obiect. Descărcarea automată a unui primitiv într-un shell de obiecte este necesară deoarece primitivele se află în afara ierarhiei de clasă. Cel mai adesea, procesul de autopachetare este necesar atunci când lucrați cu colecții, deoarece colecțiile funcționează pe obiecte.

Înainte de apariția auto-ambalării, procesul de ambalare a fost efectuat manual utilizând noua operație, de exemplu:

Cu ajutorul pachetelor auto introduse în versiunea 5.0, crearea obiectului nu apare în mod explicit, incapsularea are loc automat:

În acest caz, nu este nevoie să creați în mod explicit un obiect de tip dorit.


Avertizare. mysql_connect () [function.mysql-connect]: Nu se poate conecta la serverul MySQL local prin socket '/tmp/mysql.sock' (2), în /pub/home/javaport/javaportal/books/show2b.php pe linia 11

Avertizare. mysql_db_query () [function.mysql-db-interogare]: Nu se poate conecta la serverul MySQL local prin socket '/tmp/mysql.sock' (2), în /pub/home/javaport/javaportal/books/show2b.php pe linia 19

Avertizare. mysql_db_query () [function.mysql-db-interogare]: Un link către serverul nu a putut fi stabilită în /pub/home/javaport/javaportal/books/show2b.php pe linia 19

Avertizare. mysql_fetch_array (): argumentul furnizat nu este valid Resursa de rezultate MySQL în /pub/home/javaport/javaportal/books/show2b.php on line 30
Aflați la ce vă gândiți cu adevărat acum.


[a apărut o eroare în timpul procesării acestei directive]


Avertizare. mysql_connect () [function.mysql-connect]: Nu se poate conecta la serverul MySQL local prin socket '/tmp/mysql.sock' (2), în /pub/home/javaport/javaportal/news/worldnews.php pe linia 91

Avertizare. mysql_db_query () [function.mysql-db-interogare]: Nu se poate conecta la serverul MySQL local prin socket '/tmp/mysql.sock' (2), în /pub/home/javaport/javaportal/news/worldnews.php pe line 93

Avertizare. mysql_db_query () [function.mysql-db-interogare]: Un link către serverul nu a putut fi stabilită în /pub/home/javaport/javaportal/news/worldnews.php pe linia 93

Avertizare. mysql_fetch_array (): argumentul furnizat nu este valabil MySQL Resource în /pub/home/javaport/javaportal/news/worldnews.php on line 95







Articole similare

Trimiteți-le prietenilor: