Χρησιμοποιώντας Accessors και μεταλλάκτες σε Java

Ένας από τους τρόπους που μπορούμε να επιβάλουμε Ενσωμάτωση δεδομένων είναι μέσω της χρήσης των accessors και των μεταλλάξεων. Ο ρόλος των αξεσουάρ και των μεταλλακτών είναι να επιστρέψουν και να ορίσουν τις τιμές της κατάστασης ενός αντικειμένου. Ας μάθουμε πώς να προγραμματίζουμε accessors και mutators μέσα Ιάβα. Για παράδειγμα, θα χρησιμοποιήσουμε ένα Κατηγορία ατόμων με το κράτος και τον κατασκευαστή ήδη καθορισμένο:

Μέθοδοι αξεσουάρ

Ενα όργανο εκτίμησης η μέθοδος χρησιμοποιείται για την επιστροφή της αξίας ενός ιδιωτικού πεδίου. Ακολουθεί ένα σχήμα ονοματοδοσίας που προθέτει τη λέξη "get" στην αρχή του ονόματος της μεθόδου. Για παράδειγμα, ας προσθέσουμε μεθόδους accessor για το firstname, middleNames και το όνομα:

Αυτές οι μέθοδοι πάντα επιστρέφουν τον ίδιο τύπο δεδομένων με το αντίστοιχο ιδιωτικό τους πεδίο (π.χ. String) και στη συνέχεια απλώς επιστρέφουν την τιμή αυτού του ιδιωτικού πεδίου.

Τώρα μπορούμε να προσπελάσουμε τις αξίες τους μέσω των μεθόδων ενός αντικειμένου ατόμου:

Μέθοδοι μεταλλάξεων

instagram viewer

Μια μέθοδος μεταλλάκτη χρησιμοποιείται για να ορίσει μια τιμή ενός ιδιωτικού πεδίου. Ακολουθεί ένα σχήμα ονοματοδοσίας που ορίζει τη λέξη "set" στην αρχή του ονόματος της μεθόδου. Για παράδειγμα, ας προσθέσουμε πεδία mutator για τη διεύθυνση και το όνομα χρήστη:

Αυτές οι μέθοδοι δεν έχουν τύπο επιστροφής και δέχονται μια παράμετρο που είναι ο ίδιος τύπος δεδομένων με το αντίστοιχο ιδιωτικό τους πεδίο. Η παράμετρος χρησιμοποιείται στη συνέχεια για να ορίσει την τιμή αυτού του ιδιωτικού πεδίου.

Τώρα είναι δυνατό να τροποποιήσετε τις τιμές για τη διεύθυνση και το όνομα χρήστη μέσα στο αντικείμενο Πρόσωπο:

Γιατί να χρησιμοποιείτε αξεσουάρ και μεταλλάκτες;

Είναι εύκολο να καταλήξουμε στο συμπέρασμα ότι μπορούμε απλώς να αλλάξουμε τα ιδιωτικά πεδία του ορισμού της κλάσης να είναι δημόσια και να επιτύχουμε τα ίδια αποτελέσματα. Είναι σημαντικό να θυμόμαστε ότι θέλουμε να κρύβουμε τα δεδομένα του αντικειμένου όσο το δυνατόν περισσότερο. Το επιπλέον ρυθμιστής που παρέχονται από αυτές τις μεθόδους μας επιτρέπει:

  • Αλλάξτε τον τρόπο χειρισμού των δεδομένων πίσω από τις σκηνές.
  • Επιβάλλετε την επικύρωση στις τιμές στις οποίες έχουν ρυθμιστεί τα πεδία.

Ας υποθέσουμε ότι αποφασίζουμε να τροποποιήσουμε τον τρόπο αποθήκευσης μεσαίων ονομάτων. Αντί μιας μόνο γραμμής μπορούμε τώρα να χρησιμοποιήσουμε μια σειρά από χορδές:

Η εφαρμογή στο εσωτερικό του αντικειμένου έχει αλλάξει αλλά ο εξωτερικός κόσμος δεν επηρεάζεται. Ο τρόπος που ονομάζονται οι μέθοδοι παραμένει ακριβώς ο ίδιος:

Εναλλακτικά, ας υποθέσουμε ότι η εφαρμογή που χρησιμοποιεί το αντικείμενο Πρόσωπο μπορεί να δεχτεί μόνο ονόματα χρήστη που έχουν μέγιστο αριθμό δέκα χαρακτήρων. Μπορούμε να προστεθεί επικύρωση στο setUsername mutator για να βεβαιωθείτε ότι το όνομα χρήστη συμμορφώνεται με αυτή την απαίτηση:

Τώρα, εάν το όνομα χρήστη που μεταβιβάζεται στο μεταβλητή setUsername είναι μεγαλύτερο από δέκα χαρακτήρες, αυτόματα κόβεται.

instagram story viewer