Πίνακας περιεχομένων:
Ορισμός - Τι σημαίνει Ενθυλάκωση;
Η ενθυλάκωση, στο πλαίσιο του C #, αναφέρεται στην ικανότητα ενός αντικειμένου να αποκρύπτει δεδομένα και συμπεριφορά που δεν είναι απαραίτητα για το χρήστη του. Η ενθυλάκωση επιτρέπει σε μια ομάδα ιδιοτήτων, μεθόδων και άλλων μελών να θεωρούνται μια ενιαία μονάδα ή αντικείμενο.
Τα παρακάτω είναι τα οφέλη της εγκαψούλωσης:
- Προστασία δεδομένων από τυχαία διαφθορά
- Καθορισμός της προσβασιμότητας κάθε μέλους μιας τάξης στον κώδικα εκτός της τάξης
- Ευελιξία και επεκτασιμότητα του κώδικα και μείωση της πολυπλοκότητας
- Κάτω σύζευξη μεταξύ αντικειμένων και ως εκ τούτου βελτίωση στη διατήρηση του κώδικα
Η ενθυλάκωση χρησιμοποιείται για να περιορίσει την πρόσβαση στα μέλη μιας τάξης έτσι ώστε να εμποδίζει τον χρήστη μιας δεδομένης κλάσης να χειρίζεται αντικείμενα με τρόπους που δεν προορίζονται από τον σχεδιαστή. Ενώ η ενθυλάκωση κρύβει την εσωτερική υλοποίηση των λειτουργιών της κλάσης χωρίς να επηρεάζει τη συνολική λειτουργία του συστήματος, επιτρέπει στην τάξη να εξυπηρετεί μια αίτηση για λειτουργικότητα και να προσθέτει ή να τροποποιεί την εσωτερική της δομή (δεδομένα ή μεθόδους) σύμφωνα με τις μεταβαλλόμενες απαιτήσεις.
Η ενθυλάκωση είναι επίσης γνωστή ως απόκρυψη πληροφοριών.
Η Techopedia εξηγεί την ενθυλάκωση
Η ενθυλάκωση στο C # υλοποιείται με διαφορετικά επίπεδα πρόσβασης σε δεδομένα αντικειμένων που μπορούν να προσδιοριστούν χρησιμοποιώντας τους ακόλουθους τροποποιητές πρόσβασης:
- Δημόσια: πρόσβαση σε όλους τους κωδικούς του προγράμματος
- Ιδιωτικός: πρόσβαση μόνο σε μέλη της ίδιας τάξης
- Προστατευόμενη: Πρόσβαση σε μέλη της ίδιας τάξης και κλάσεις που προέρχονται από αυτήν
- Εσωτερικό: Πρόσβαση στην τρέχουσα συναρμολόγηση
- Προστατευμένη Εσωτερική: Πρόσβαση στην τρέχουσα συναρμολόγηση και τύπους που προέρχονται από την κλάση που περιέχει
Η ενθυλάκωση μπορεί να απεικονιστεί με ένα παράδειγμα αντικειμένου υπαλλήλου που αποθηκεύει λεπτομέρειες αυτού του αντικειμένου. Χρησιμοποιώντας το encapsulation, το αντικείμενο Employee μπορεί να εκθέσει τα δεδομένα (όπως Name, EmployeeID κ.λπ.) και μεθόδους (όπως το GetSalary) που είναι απαραίτητες για τη χρήση του αντικειμένου, ενώ παράλληλα κρύβει τα άσχετα πεδία και μεθόδους από άλλα αντικείμενα. Είναι εύκολο να δείτε μια κατάσταση στην οποία όλοι οι χρήστες μπορούν να έχουν πρόσβαση σε βασικές πληροφορίες για έναν υπάλληλο, ενώ περιορίζουν τις πληροφορίες μισθοδοσίας.
Το C # επιτρέπει την ενθυλάκωση δεδομένων μέσω της χρήσης αξεσουάρ (για λήψη δεδομένων) και μεταλλάξεων (για την τροποποίηση δεδομένων), τα οποία βοηθούν στον έμμεσο χειρισμό των ιδιωτικών δεδομένων χωρίς να το δημοσιοποιούν. Οι ιδιότητες είναι ένας εναλλακτικός μηχανισμός για την ιδιωτικοποίηση δεδομένων σε ένα αντικείμενο C # και την πρόσβαση σε λειτουργία μόνο για ανάγνωση ή σε λειτουργία ανάγνωσης-εγγραφής. Σε αντίθεση με το accessor και το mutator, μια ιδιότητα παρέχει ένα μοναδικό σημείο πρόσβασης στις τιμές "set" και "get" ενός αντικειμένου.




