Συγκριτικό διάγραμμα
Βάση σύγκρισης | Απόκρυψη δεδομένων | Ενθυλάκωση |
---|---|---|
Βασικός | Δεδομένα που κρύβουν ανησυχία για την ασφάλεια των δεδομένων μαζί με την απόκρυψη της πολυπλοκότητας. | Η ενθυλάκωση αφορά την περιτύλιξη δεδομένων για να κρύψει την πολυπλοκότητα ενός συστήματος. |
Συγκεντρώνω | Η απόκρυψη δεδομένων επικεντρώνεται στον περιορισμό ή στην αποδοχή της χρήσης δεδομένων μέσα στην κάψουλα. | Η ενθυλάκωση επικεντρώνεται στην περιτύλιξη ή την περιτύλιξη των σύνθετων δεδομένων. |
Χαρακτηριστής πρόσβασης | Τα δεδομένα υπό την απόκρυψη δεδομένων είναι πάντα ιδιωτικά και απρόσιτα. | Τα δεδομένα που βρίσκονται κάτω από την ενθυλάκωση μπορεί να είναι ιδιωτικά ή δημόσια. |
Επεξεργάζομαι, διαδικασία | Η απόκρυψη δεδομένων είναι μια διαδικασία καθώς και μια τεχνική. | Η ενθυλάκωση είναι μια υποδιαδικασία στην απόκρυψη δεδομένων. |
Ορισμός της απόκρυψης δεδομένων
Η απόκρυψη δεδομένων είναι μια έννοια στον αντικειμενοστραφή προγραμματισμό που επιβεβαιώνει την ασφάλεια των μελών μιας τάξης από μη εξουσιοδοτημένη πρόσβαση. Η απόκρυψη δεδομένων είναι μια τεχνική προστασίας των μελών των δεδομένων από το να τους χειρίζεται ή να πειραματίζεται από οποιαδήποτε άλλη πηγή. Τα δεδομένα είναι το πιο ευαίσθητο και ασταθές περιεχόμενο ενός προγράμματος το οποίο, αν χειριστεί, μπορεί να οδηγήσει σε λανθασμένη παραγωγή και επίσης να βλάψει την ακεραιότητα των δεδομένων. Η απόκρυψη δεδομένων ελέγχεται στην Java με τη βοήθεια τροποποιητών πρόσβασης (ιδιωτικών, δημόσιων και προστατευμένων). Τα δεδομένα που είναι δημόσια είναι προσβάσιμα από έξω από την τάξη, επομένως αν θέλετε να αποκρύψετε τα δεδομένα σας ή να τα περιορίσετε από την πρόσβαση από το εξωτερικό, δηλώστε τα δεδομένα σας ιδιωτικά . Τα ιδιωτικά δεδομένα είναι προσβάσιμα μόνο στα αντικείμενα της συγκεκριμένης κλάσης.
Ας καταλάβουμε τα δεδομένα που κρύβονται με τη βοήθεια ενός παραδείγματος. Ας υποθέσουμε ότι δηλώσατε μια κλάση CheckAccount και έχετε μια ισορροπία μελών μέσα στην τάξη. Εδώ, το υπόλοιπο ενός λογαριασμού είναι ευαίσθητες πληροφορίες. Μπορείτε να επιτρέψετε σε μια εξωτερική εφαρμογή να ελέγξει την ισορροπία μέσα σε ένα λογαριασμό, αλλά δεν θα επιτρέψετε σε μια εξωτερική εφαρμογή να αλλάξει το χαρακτηριστικό ισορροπίας. Έτσι δηλώνοντας το ιδιωτικό ισοζύγιο θα περιορίζονταν η πρόσβαση σε ισορροπία από μια εξωτερική εφαρμογή.
Η απόκρυψη δεδομένων μειώνει επίσης την πολυπλοκότητα του συστήματος. Η απόκρυψη δεδομένων μπορεί να επιτευχθεί μέσω της εγκαψούλωσης, καθώς η ενθυλάκωση είναι μια υποδιαδικασία κρυπτογράφησης δεδομένων.
Ορισμός της ενθυλάκωσης
Η ενθυλάκωση δεσμεύει τον κώδικα και τα δεδομένα μαζί σε μια κάψουλα για να κρύψει την πολυπλοκότητα μιας κατηγορίας. Η ενθυλάκωση έχει λιγότερη σχέση με τους προσδιοριστές πρόσβασης (ιδιωτικές, δημόσιες και προστατευόμενες). Στα μέλη εγκλωβισμού σε μια τάξη μπορεί να είναι ιδιωτική, δημόσια ή προστατευμένη . Τα ιδιωτικά μέλη μιας τάξης είναι προσβάσιμα μόνο στα αντικείμενα της ίδιας τάξης, και τα δημόσια μέλη είναι προσιτά στα αντικείμενα της τάξης, καθώς είναι προσιτά και εκτός της τάξης. Η ενθυλάκωση βοηθά τον τελικό χρήστη ενός συστήματος να μάθει τι πρέπει να κάνει με το σύστημα αντί για το πώς πρέπει να το κάνει.
Ας καταλάβουμε την ενθυλάκωση με τη βοήθεια ενός παραδείγματος ενός αυτοκινήτου. Εάν ένας οδηγός ενός αυτοκινήτου θέλει να αλλάξει το εργαλείο του αυτοκινήτου, αυτό που χρειάζεται είναι απλώς να αλλάξει τη θέση των χειριστηρίων του ήπατος του αυτοκινήτου και έτσι αλλάζει το εργαλείο ενός αυτοκινήτου. Ένας οδηγός δεν χρειάζεται να καταλάβει την πολυπλοκότητα του, ποιος είναι ο μηχανισμός πίσω από την αλλαγή της ταχύτητας. Αυτός είναι ο τρόπος με τον οποίο η ενθυλάκωση μειώνει την πολυπλοκότητα ενός συστήματος. Η ενθυλάκωση καθιστά το σύστημα ευκολότερο να λειτουργήσει από τον τελικό χρήστη.
Βασικές διαφορές μεταξύ της απόκρυψης δεδομένων και της ενθυλάκωσης
- Το Encapsulation ασχολείται με την απόκρυψη της πολυπλοκότητας ενός προγράμματος. Από την άλλη πλευρά, τα δεδομένα που κρύβονται ασχολούνται με την ασφάλεια των δεδομένων σε ένα πρόγραμμα.
- Η ενθυλάκωση επικεντρώνεται στην περιτύλιξη (ενσωμάτωση) των σύνθετων δεδομένων προκειμένου να παρουσιάσει μια πιο απλή εικόνα για τον χρήστη. Από την άλλη πλευρά, η απόκρυψη δεδομένων επικεντρώνεται στον περιορισμό της χρήσης δεδομένων, με σκοπό να διασφαλιστεί η ασφάλεια των δεδομένων.
- Κατά την ενθυλάκωση, τα δεδομένα μπορεί να είναι δημόσια ή ιδιωτικά, αλλά σε δεδομένα που κρύβονται, τα δεδομένα πρέπει να είναι μόνο ιδιωτικά .
- Η απόκρυψη δεδομένων είναι μια διαδικασία καθώς και μια τεχνική, ενώ η ενθυλάκωση είναι υποεπεξεργασία στην απόκρυψη δεδομένων.
Συμπέρασμα:
Τελειώνω λέγοντας ότι τα στοιχεία που κρύβονται και εγκλωβίζονται είναι σημαντικά για την εφαρμογή ενός συστήματος. Και οι δύο πηγαίνουν χέρι-χέρι, όπου η απόκρυψη δεδομένων επικεντρώνεται στην ασφάλεια των δεδομένων, ο εγκλωβισμός επικεντρώνεται στη μείωση της πολυπλοκότητας του συστήματος, προκειμένου να καταστεί η εφαρμογή περισσότερο φιλική προς το χρήστη.