Diagramă de comparație
Bazele de comparație | abstracțiune | Ascunderea datelor |
---|---|---|
De bază | Extrage numai informații relevante și ignoră detaliile neesențiale. | Ascunde datele din părțile programului. |
Scop | Pentru a ascunde complexitatea. | Pentru a realiza încapsularea. |
Clasă | Class utilizează abstracția pentru a obține un nou tip de date definit de utilizator. | Ascunderea datelor este utilizată într-o clasă pentru a face datele sale private. |
Se concentrează pe | Comportamentul observabil al datelor. | Restricționarea sau permiterea utilizării datelor într-o capsulă. |
Definiția Abstraction
Abstracția este folosită în primul rând pentru a ascunde complexitatea. Aceasta indică caracteristicile necesare unui obiect care îl diferențiază de toate celelalte tipuri de obiecte. O abstractizare se concentrează asupra aspectului exterior al unui obiect. Pentru un obiect, abstractizarea oferă separarea comportamentului crucial de la punerea sa în aplicare. Specifică o limită conceptuală față de viziunea privitorului. O abstracție adecvată subliniază detaliile importante pentru cititor sau utilizator și suprimă caracteristicile care sunt irelevante și deviante.
Tipurile de date definite de utilizator sunt create prin definirea atributelor și funcțiilor abstracte într-o clasă pentru proiectarea obiectelor din lumea reală, având proprietăți identice. Aceste atribute sunt cunoscute ca membri de date deoarece conțin informații. În mod similar, funcțiile care funcționează pe aceste date sunt cunoscute ca funcții ale membrilor. Abstractizarea datelor este implementată ca o clasă care reprezintă proprietățile esențiale fără a include explicațiile de fond.
Tipuri de abstractizare:
- Abstractarea procedurală - include o serie de instrucțiuni care au funcțiile specificate.
- Abstractizarea datelor - Este setat de date care specifică și descriu un obiect de date.
- Controlul abstractizării - este un mecanism de control al programelor în care detaliile interioare nu sunt specificate.
Definiția Data hiding
Ascunderea datelor implică ascunderea datelor de la componentele programului care nu trebuie recuperate. Izolarea datelor de la accesul direct prin program se numește ascunderea de date sau ascunderea informațiilor. Pentru implementarea ascunderii datelor, încapsularea este folosită acolo unde datele și funcțiile unei clase sunt protejate de accesul neautorizat. În schimb, atunci când datele și funcția sunt încapsulate într-o singură unitate este cunoscută ca încapsulare. Prin urmare, ascunderea datelor ajută la realizarea încapsulării. Detaliile funcționale ale unui obiect pot fi tratate prin intermediul specificatorilor de acces.
Folosind conceptele de ascundere a datelor, datele și funcțiile dintr-o clasă sunt private, astfel încât să nu poată fi accesate fals prin funcțiile din afara clasei și protejate de alterarea accidentală.
Diferențe cheie între abstractizare și ascunderea datelor
- Abstracția prezintă informațiile relevante și respinge detaliile neesențiale. Pe de altă parte, ascunderea datelor este folosită pentru a ascunde datele din părțile programului.
- Scopul anterior al abstractizării este ascunderea detaliilor de implementare complexe ale programului sau ale software-ului. Dimpotrivă, ascunderea datelor este implementată pentru a obține încapsularea.
- Abstracția este utilizată în clasă pentru a crea un nou tip de date definit de utilizator. Spre deosebire de acestea, în clase, ascunderea datelor este utilizată pentru a face datele private.
- Abstractizarea se concentrează pe comportamentul observabil al datelor, în timp ce ascunderea datelor restricționează sau permite utilizarea datelor într-o capsulă.
Concluzie
Atât abstractizarea, cât și ascunderea datelor au avut ca scop doar afișarea informațiilor necesare și ascunderea detaliilor despre instincte, dar pentru scopul distinct. Abstractarea accentuează în ascunderea complexității implementării, în timp ce în datele ascunse, proeminența este dată protecției datelor împotriva accesului neautorizat.