Εδώ εξετάζουμε κυρίως το αξεσουάρ ιδιοκτησίας, δηλαδή τη μέθοδο get, set.
Τα κινέζικα ονόματα για το getter (ανάγνωση) και το setter (γραφή) είναι accessor, μνήμη. Όπως υποδηλώνει το όνομα, χρησιμοποιείται για τη λήψη και τον ορισμό μεταβλητών. Έχοντας διαβάσει για άλλες αντικειμενοστρεφείς γλώσσες (C#, Java) για getters, setters, τα πλεονεκτήματα συνοψίζονται εδώ:
1. Για αντικειμενοστρεφείς γλώσσες, η άμεση έκθεση μεταβλητών μελών δεν είναι σύμφωνη με την αρχή ενθυλάκωσης του OOP και δεν είναι ασφαλής, επομένως οι λήπτες και οι ρυθμιστές θα πρέπει να χρησιμοποιούνται για τη λήψη και την εκχώρηση τιμών.
2. Αυτές οι δύο μέθοδοι μπορούν να χρησιμοποιηθούν για την προσθήκη πρόσθετων λειτουργιών (όπως φιλτράρισμα υπό όρους, επαλήθευση) κ.λπ.
3. Η εσωτερική αποθήκευση και η εξωτερική απόδοση είναι διαφορετικές.
4. Η μέθοδος και η λογική της εσωτερικής αποθήκευσης μπορούν να τροποποιηθούν ενώ η εξωτερική διεπαφή παραμένει αμετάβλητη.
5. Διαχειριστείτε τον κύκλο ζωής και τη μέθοδο αποθήκευσης μνήμης αυθαίρετων μεταβλητών διαχείρισης.
6. Παρέχετε μια διεπαφή εντοπισμού σφαλμάτων.
7. Μπορεί να ενσωματωθεί με προσομοιωμένα αντικείμενα, σειριοποίηση, ακόμη και βιβλιοθήκες WPF.
8. Επιτρέψτε στους κληρονόμους να αλλάξουν σημασιολογία.
9. Μπορείτε να χρησιμοποιήσετε getters και setters για εκφράσεις λάμδα. (Πιθανώς ως λειτουργία, συμμετέχοντας στη μετάδοση και λειτουργία λειτουργίας)
10. Οι λήπτες και οι ρυθμιστές μπορούν να έχουν διαφορετικά επίπεδα πρόσβασης.
Στη C#, χρησιμοποιούμε αξεσουάρ με τρόπο που
Στο TypeScript, χρησιμοποιείται ως εξής:
Αν και είναι πιο ενοχλητικό να γράφεις, εξακολουθεί να είναι πολύ βολικό στη χρήση.
|