Πίνακας περιεχομένων:
Ορισμός - Τι σημαίνει Mutator;
Ένας μεταλλάκτης, στο πλαίσιο του C #, είναι μια μέθοδος, με ένα δημόσιο επίπεδο προσβασιμότητας, που χρησιμοποιείται για την τροποποίηση και τον έλεγχο της τιμής μιας μεταβλητής ιδιωτικού μέλους μιας κλάσης. Ο μεταλλάκτης χρησιμοποιείται για να εκχωρήσει μια νέα τιμή στο ιδιωτικό πεδίο ενός τύπου. Αποτελεί ένα εργαλείο για την υλοποίηση της εγκαψούλωσης ελέγχοντας μόνο την πρόσβαση στις εσωτερικές τιμές πεδίου που πρέπει να τροποποιηθούν.
Τα οφέλη από τη χρήση ενός μεταλλάκτη περιλαμβάνουν:
- Αποτρέπει τον χρήστη από την άμεση πρόσβαση στα ιδιωτικά δεδομένα μιας εμφάνισης αντικειμένου και επιτρέπει την πρόσβαση μόνο μέσω δημόσιων μεθόδων για την αποτροπή της καταστροφής δεδομένων.
- Παρέχει ευελιξία στην τροποποίηση της εσωτερικής αναπαράστασης των πεδίων ενός αντικειμένου που αντιπροσωπεύει την εσωτερική κατάσταση χωρίς να σπάσει τη διεπαφή που χρησιμοποιείται από τους πελάτες του αντικειμένου.
- Δυνατότητα να συμπεριληφθεί πρόσθετη λογική επεξεργασίας, όπως η επικύρωση μιας καθορισμένης τιμής, η ενεργοποίηση γεγονότων κ.λπ. κατά τη διάρκεια της τροποποίησης του πεδίου στο μεταλλάκτη.
- Παρέχει το συγχρονισμό που είναι απαραίτητο για τα σενάρια πολλαπλών θορύβων.
- Περιλαμβάνει διάταξη για την αντικατάσταση του μεταλλάκτη που δηλώθηκε σε μια βασική κλάση με τον κώδικα στην παράγωγη κλάση.
Η Techopedia εξηγεί τον Mutator
Ένας μεταλλάκτης συνήθως παρέχεται με ένα accessor που επιστρέφει την τιμή της μεταβλητής μέλους. Για τα στοιχεία δεδομένων που είναι αμετάβλητα, δεν θα πρέπει να παρέχεται ο μεταλλάκτης.
Για παράδειγμα, το StudentData μπορεί να είναι μια τάξη που αποθηκεύει τις λεπτομέρειες ενός φοιτητή, όπως το όνομα, τη διεύθυνση, το βαθμό κλπ. Μπορεί να υπάρχει μια δημόσια μέθοδος, η SetGrade στην τάξη. Το StudentData είναι ο μεταλλάκτης για την ενημέρωση του αντικειμένου StudentData από τον κώδικα που χρησιμοποιεί το αντικείμενο.
Ενώ ένα μεταλλάκτη υλοποιείται στη C ++ με μια ρητή δημόσια μέθοδο για την τροποποίηση ενός ιδιωτικού πεδίου, το C # εισάγει "ιδιότητες" ως μια νέα λειτουργία που υλοποιεί ένα μεταλλάκτη για να τροποποιήσει τις τιμές πεδίων, καθώς και ένα accessor για την ανάκτηση του πεδίου. Κάθε ιδιότητα αντιπροσωπεύεται στον κοινό κώδικα της ενδιάμεσης γλώσσας με ένα ζευγάρι μεθόδων που φέρουν την ένδειξη "get _" (accessor) και "set _" (mutator) κάτω από την κουκούλα. Καλούνται εσωτερικά από τον κοινό χρόνο εκτέλεσης γλώσσας (CLR). Αυτό απλοποιεί τον κώδικα και μερικές φορές επιτρέπει την εκτέλεση μαθηματικών λειτουργιών.
Ο μεταλλάκτης δεν χρησιμοποιείται συχνά σε αντικείμενα, όπου η συμπεριφορά του αντικειμένου λαμβάνεται υπόψη και όχι ο τρόπος με τον οποίο εκτελείται.






