Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Java

Πώς να δημιουργήσετε ένα αντικείμενο αμετάβλητος σε Java

Ένα αμετάβλητο αντικείμενο στον προγραμματισμό , τη στιγμή που έχετε δημιουργήσει και να προετοιμαστεί , δεν μπορεί ποτέ να αλλάξει την κατάστασή του . Αυτό μπορεί να φαίνεται αντιπαραγωγικό δεδομένου ότι το σημείο του προγραμματισμού είναι να χειριστείτε τα δεδομένα . Ωστόσο , σχεδιάζοντας τις τάξεις σας για την εξάλειψη των τόπων όπου τα δεδομένα τους μπορούν να αλλάξουν , μπορείτε να αφαιρέσετε ολόκληρες κατηγορίες των πιθανών προβλημάτων από το πρόγραμμά σας . Αυτό εξασφαλίζει τα δεδομένα είναι πάντα έγκυρη και τάξεις σας είναι αυτόματα νήμα-ασφαλή , και δεν έχετε να ανησυχείτε για να ξεχάσουμε να προετοιμάσει τα μέλη της τάξης σας . Τα πράγματα που θα χρειαστείτε
Ολοκληρωμένο περιβάλλον ανάπτυξης ( IDE ) όπως Eclipse ή NetBeans

Παρουσίαση Περισσότερες οδηγίες
Η 1

αναγνωρίσει την τάξη σας ως τελικό:

δημόσια τελικό class MyClass {

...

}

Αυτό αποτρέπει την κληρονομιά της τάξης σας , η οποία μπορεί να υπονομεύσει την αθανασία του . 2

αναγνωρίσει τα πεδία μέλος σας ως τελικό:

...

ιδιωτική τελική int Thenumber ?

ιδιωτική τελική String thename ?

...

Αυτό αναγκάζει τον compiler για να εξασφαλίσει τα πεδία μέλος δεν αλλάζουν μετά την εκκίνηση
εικόνων 3

προετοιμαστεί τα πεδία μέλος του κατασκευαστή : .

δημόσια MyClass ( int Thenumber , String thename ) {

this.theNumber = Thenumber ?

this.theName = thename ?

}
Η 4

Προσθήκη πάρει μεθόδους για να επιτρέπουν την πρόσβαση στους τομείς :

...

public int getTheNumber ( ) {επιστροφή Thenumber ? }

public String getTheName ( ) {επιστροφή thename ? }
Φτηνές 5

Προσθήκη λογική επικύρωσης για τον κατασκευαστή να διασφαλίσει ότι δημιουργεί σωστά το αντικείμενό σας . Για παράδειγμα , εάν ο κώδικάς σας περιμένει Thenumber να είναι πάντα μεταξύ 0 και 100 , μπορείτε να ελέγξετε ότι και να ρίξει μια εξαίρεση ( IllegalArgumentException έργα ) .

Δημόσια MyClass ( int Thenumber , String thename ) {

αν ( Thenumber <=

this.theNumber = Thenumber ?

this.theName = thename ?

}

Αυτό το βήμα σας βοηθά να γνωρίζετε οποιαδήποτε πραγματικές περιπτώσεις της κατηγορίας σας είναι έγκυρα .
Η 6

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

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα