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

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

Τα Πλεονεκτήματα και Μειονεκτήματα της μεθόδου υπερφόρτωση σε Java

υπερφορτωμένες μέθοδοι αυτές είναι μέθοδοι στην ίδια κατηγορία που μοιράζονται το ίδιο όνομα , αλλά δέχονται διαφορετικές τύπους μεταβλητών ως επιχειρήματα . Για παράδειγμα , μια κατηγορία μπορεί να περιέχει δύο διαφορετικούς "προσθήκη " μεθόδους: μία που δέχεται δύο διπλά αξίες, "προσθήκη (διπλό ένα διπλό β) " και ένα που δέχεται δύο ακέραιες τιμές , "add ( int a , int b ) . " Ο υπολογιστής αυτόματα αποφασίζει ποια μέθοδο να καλέσετε στο χρόνο εκτέλεσης με βάση τις μεταβλητές τύπων που πέρασε με τη μέθοδο . Ευελιξία
Η

υπερφορτωμένες μέθοδοι δίνουν στους προγραμματιστές την ευελιξία να καλέσετε μια παρόμοια μέθοδο για διαφορετικούς τύπους δεδομένων . Εάν εργάζεστε σε ένα πρόγραμμα μαθηματικών , για παράδειγμα , θα μπορούσατε να χρησιμοποιήσετε την υπερφόρτωση να δημιουργήσει διάφορες " πολλαπλασιάσει " τάξεις , καθένα από τα οποία πολλαπλασιάζει έναν διαφορετικό αριθμό από το είδος του επιχειρήματος : η απλούστερη "πολλαπλασιασμός ( int a, int b ) " ? πολλαπλασιάζει δύο ακέραιους αριθμούς ? η πιο περίπλοκη μέθοδο " πολλαπλασιάζονται (ένα διπλό , int b, int c ) " πολλαπλασιάζει ένα διπλό με δύο ακέραιους αριθμούς - θα μπορούσε στη συνέχεια να καλέσετε "πολλαπλασιασμός " σε οποιοδήποτε συνδυασμό των μεταβλητών που δημιουργήσατε ένα υπερφορτωμένο μέθοδος για και να λάβετε την κατάλληλη αποτέλεσμα .
εικόνων Κατασκευαστές
Η

υπερφόρτωση χρησιμοποιείται επίσης σε κατασκευαστές για να δημιουργήσει νέα αντικείμενα δίνονται διαφορετικές ποσότητες δεδομένων . Για παράδειγμα , θα μπορούσατε να χρησιμοποιήσετε την υπερφόρτωση για τη δημιουργία τριών διαφορετικών κατασκευαστών για ένα "Σπίτι " αντικείμενο με αριθμό σπιτιού , το όνομα του δρόμου και τις μεταβλητές χρώματος . Ο πιο απλός κατασκευαστής " Σπίτι ( ) " δεν δέχεται ορίσματα και δημιουργεί ένα σπίτι με προεπιλογή ή άδειο μεταβλητές . Μια πιο σύνθετη κατασκευαστή , " Σπίτι ( int houseNumber , String streetName ) , " δημιουργεί ένα σπίτι με τον καθορισμένο αριθμό του σπιτιού και το όνομα του δρόμου , αλλά μια προεπιλεγμένη ή κενό χρώμα . Το πιο περίπλοκο κατασκευαστή , " Σπίτι ( int houseNumber , String streetName , το χρώμα String ) , " δημιουργεί ένα σπίτι με όλες τις συγκεκριμένες πληροφορίες, μην αφήνοντας τίποτα ως προεπιλογή . Στη συνέχεια, θα μπορούσε να δημιουργήσει ένα αντικείμενο το σπίτι με βάση τις διαθέσιμες πληροφορίες , με την απουσία πληροφοριών μείνει κενό ή σε περίπτωση αθέτησης .

Η αμφίσημες αναφορές
Η

υπερφορτωμένες μέθοδοι πρέπει να χρησιμοποιούν διαφορετικούς αριθμούς ή τύπους επιχειρήματα για να αποφευχθεί η ασάφεια . Εάν δημιουργήσετε δύο μεθόδους στην ίδια κατηγορία , που έχουν το ίδιο όνομα και να δεχθεί δύο ακέραιοι ως επιχειρήματα , ο compiler της Java θα είναι σε θέση να διακρίνει μεταξύ των δύο , ακόμη και αν οι μεταβλητές εισόδου έχουν διαφορετικά ονόματα . Για παράδειγμα , η μέθοδος "add ( int a, int b ) " δεν μπορεί να υπάρξει στην ίδια κατηγορία με την μέθοδο "add ( int c , int d ) . "
Εικόνων Επιστροφή Τύποι
Η

πρέπει να ορίσετε ένα είδος επιστροφής για κάθε υπερφορτωμένη μέθοδος . Μέθοδοι μπορούν να έχουν διαφορετικούς τύπους επιστροφής - για παράδειγμα, " add ( int a , int β) " μπορεί να επιστρέψει έναν ακέραιο , ενώ το " add (διπλό ένα διπλό β) " επιστρέφει ένα διπλό . Ωστόσο , Java δεν μπορούν να διακρίνουν μεταξύ δύο διαφορετικών μεθόδων με βάση τον τύπο της επιστροφής τους . Ως εκ τούτου , " int πολλαπλασιάζονται (ένα διπλό , διπλό β) " δεν μπορεί να υπάρξει στην ίδια κατηγορία με "διπλό πολλαπλασιάζονται (ένα διπλό , διπλό β) . "

Η

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

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