Diferența dintre abstractizarea datelor și încapsularea

Principala diferență între Abstractizarea datelor și Encapsularea este aceea că abstractizarea de date ascunde detaliile implementării și arată doar funcționalitatea utilizatorului pentru a reduce complexitatea codului în timp ce încapsularea leagă sau împachetează datele și metodele împreună într-o singură unitate și ascunde detaliile pentru protecția datelor.

Programarea orientată pe obiecte (OOP) ajută la modelarea scenariilor din lumea reală în software. Este o paradigmă sau o metodologie pentru a proiecta un program folosind clase și obiecte. O clasă este un model pentru a crea un obiect. Cu alte cuvinte, este o structură de a crea obiecte. Se compune din atribute și metode. Atributele descriu proprietățile sau datele, în timp ce metodele descriu operațiile sau comportamentele. Nu este posibilă crearea obiectelor fără clase. Prin urmare, un obiect este o instanță a unei clase. Abstractizarea și încapsularea datelor sunt două concepte în PLO.  

Domenii cheie acoperite

1. Ce este Abstractarea datelor
     - Definiție, utilizare
2. Ce este încapsularea
     - Definiție, utilizare
3. Diferența dintre abstractizarea datelor și încapsularea
     - Compararea diferențelor cheie

Termeni cheie

Abstractizarea datelor, Encapsulation, OOP

Ce este Abstractarea datelor

Abstractizarea datelor se referă la ascunderea detaliilor interne și la afișarea funcționalității. Cu alte cuvinte, ascunde detaliile implementării și doar prezintă caracteristicile lumii exterioare. Un exemplu din lumea reală este televiziunea. Utilizatorul nu are nevoie să cunoască circuitele electronice interne și funcționalitățile pentru a viziona televiziunea. Un alt exemplu este utilizarea unui telefon mobil. Utilizatorul nu are nevoie să cunoască procesarea internă. Trebuie doar să cunoască principalele funcționalități, cum ar fi efectuarea de apeluri telefonice, trimiterea de mesaje sau navigarea pe internet.

Abstractizarea datelor oferă avantaje în dezvoltarea de software. Cel mai important, reduce complexitatea codului. Mai mult, ascunde detaliile și expune caracteristicile esențiale. Limbile de suport OOP ajută la realizarea abstractizării datelor folosind clase și interfețe abstracte.

Ce este încapsularea

Encapsularea combină datele și metodele într-o singură unitate. Obiectivul principal al încapsulării este asigurarea datelor. Este similar cu o capsulă medicală. Medicina se află în interiorul capsulei și este acoperită și protejată de lumea exterioară.

Figura 01: Încapsulare

Metoda de a realiza încapsularea este prin utilizarea modificărilor de acces, cum ar fi "privat" și "public". Modifică vizibilitatea datelor sau a metodelor. Membrii privați sunt accesibili numai în cadrul clasei, în timp ce membrii publici sunt accesibili în cadrul clasei și de către alte clase.

Este posibil să se implementeze încapsularea în limbajul OOP, făcând membrii de date sau proprietățile private și accesarea acestora prin metode publice cum ar fi getters și setters. De asemenea, Encapsulation compactează datele și metoda la o unitate. În plus, oferă protecție pentru date.

Diferența dintre abstractizarea datelor și încapsularea

Definiție

Abstractizarea datelor este un concept OOP care ascunde detaliile implementării și arată doar funcționalitatea utilizatorului. Encapsulation este un concept OOP care leagă sau împachetează datele și metodele împreună într-o singură unitate.

Utilizare principală

Absobarea datelor ascunde detaliile implementării pentru a reduce complexitatea codului, în timp ce încapsularea ascunde date în scopul protecției datelor. Aceasta este diferența principală dintre abstractizarea datelor și încapsularea în ceea ce privește utilizarea celor două. 

Metoda de realizare

Limbile OOP utilizează clase și interfețe abstracte pentru a realiza abstractizarea datelor. În contrast, limbile OOP pot realiza încapsularea făcând membrii de date privați și accesându-i prin metode publice.

Concluzie

Abstractizarea datelor și încapsularea sunt două concepte în OOP (Object Oriented Programming). Diferența dintre abstractizarea datelor și încapsularea este că abstractizarea datelor ascunde detaliile implementării pentru a reduce complexitatea codului, în timp ce încapsularea ascunde detaliile pentru protecția datelor.

Referinţă:

1. Punct de instruire. "Encapsulation Java." Www.tutorialspoint.com, Tutorials Point, 24 Mar. 2018, Disponibil aici.
2. "Abstracție în Java". GeeksforGeeks, 14 noiembrie 2017, disponibil aici.
3. "Encapsulation in Java." Javatpoint, disponibil aici.