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

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

Τρεις Πρωτοβάθμια Οφέλη από ENUM

Οι περισσότεροι προγραμματιστές θα εκχωρήσει αριθμητικές τιμές για κάθε στοιχείο σε μια λίστα , όπως τις ημέρες της εβδομάδας , για να κάνει την κωδικοποίηση γρηγορότερα και να αποφευχθούν τυπογραφικά λάθη . Μερικές γλώσσες προγραμματισμού παρέχουν ένα είδος απογραφέας ή enum , που σας επιτρέπει να ορίσετε ένα σταθερό σύνολο από σταθερές σε ειδικό τύπο . Χρησιμοποιώντας ένα κατασκεύασμα enum έχει πολλά οφέλη , όπως η βελτιωμένη ταίριασμα τύπου , τη δυνατότητα να ορίσετε προσαρμοσμένες μεθόδους , την πρόσβαση στην αυτόματη μελών που προβλέπεται από τον compiler , και τη συνολική αύξηση της αναγνωσιμότητας και της συντήρησης του προγράμματος . Συνδέστε Προσαρμοσμένη Μέθοδοι
Η

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

εισαγωγή στατική java.lang.Math * ? . . Δημόσια κράτος enum { AK ( 61.3850 , -152.2683 ) , AL ( 32.7990 , -86.8073 ) , ... WV ( 38.4680 , -80.9696 ) , WY ( 42.7475 , -107.2085 ) ?

ιδιωτική τελική διπλό πλάτος ? ιδιωτική τελική διπλό μήκος ? κράτους ( διπλό πλάτος, διπλό μήκος) { this.latitude = γεωγραφικό πλάτος ? this.longitude = μήκος ? } ιδιωτικά δίκλινα γεωγραφικού πλάτους ( ) { γεωγραφικό πλάτος επιστροφή? } ιδιωτικά δίκλινα γεωγραφικό μήκος ( ) {επιστροφή μήκος ? } ιδιωτική στατική τελική διπλό R = 6371 ?

διπλάσια απόσταση ( διπλή lat , διπλά LNG ) { //σφαιρικό δίκαιο cosinesreturn cos ( sin ( γεωγραφικό πλάτος ) * sin ( ΕΕΘ ) + cos ( γεωγραφικό πλάτος ) * cos ( ΕΕΘ ) + cos ( LNG - μήκος) ) * R ? } }
εικόνων Ενισχυμένη τύπου Matching
Η

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

δημόσια enum Season { ΑΝΟΙΞΗ , ΚΑΛΟΚΑΙΡΙ , ΧΕΙΜΩΝΑΣ , FALL } ? καιρός δημόσια λειτουργία ( enum Season ) { ... } ?

Η Βελτιωμένη Τεκμηρίωση
Η

Το κατασκεύασμα enum κάνει κώδικα πιο εύκολο να κατανοήσουν και να διατηρήσει . Με τη δημιουργία ενός μορφώματος enum των μελών με νόημα ονόματα, μπορείτε να τεκμηριώνετε όπως μπορείτε να δημιουργήσετε . Για παράδειγμα , δηλώνοντας ένα enum που ονομάζεται "Επιλογή" καθιστά εύκολο να κατανοήσουμε τις περιπτώσεις το " διακόπτη " δήλωση:

enum επιλογή { SAVE , DISCARD , CANCEL } ? Option πάρει ? ... Διακόπτη ( επιλέξετε ) { υπόθεση SAVE : σπάσει ? περίπτωση DISCARD : σπάσει ? περίπτωση ΑΚΥΡΩΣΗ : διάλειμμα? }
εικόνων Αυτόματη Ειδικές μέθοδοι
Η

Στην Java , ο compiler αυτόματα εισάγει ειδικές μεθόδους σε η τάξη ώστε να είναι εύκολο να εκτελέσει βασικές λειτουργίες . Για παράδειγμα , ο compiler εισάγει αυτόματα μια μέθοδο που ονομάζεται «αξίες» που επιστρέφει έναν πίνακα σταθερές τιμές enum με τη σειρά που δηλώθηκαν . Αυτό κάνει επανάληψη πάνω από τις τιμές enum πολύ εύκολο , όπως στο ακόλουθο παράδειγμα :

για ( μήνα m : Month.values ​​( ) ) { System.out.printf ( " % s έχει % d ημέρες " , m , m.numberOfDays ( ) ) ? }
Η
εικόνων

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

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