Διαφορά μεταξύ της λειτουργίας φίλων και της κατηγορίας φίλων
Περιεχόμενο
Η λειτουργία φίλων και φίλων είναι οι τεχνικές που χρησιμοποιούνται για την πρόσβαση στα ιδιωτικά μέλη μιας τάξης χρησιμοποιώντας τη λέξη-κλειδί φίλων. Η κοινή διαφορά μεταξύ της λειτουργίας φίλων και της τάξης φίλων είναι ότι όταν χρησιμοποιείται η λειτουργία φίλων μπορούν να προσπελαστούν τα μέλη της ιδιωτικής τάξης αλλά σε τάξη φίλων μόνο τα ονόματα της τάξης φίλων δεν έχουν πρόσβαση στα ιδιωτικά μέλη της τάξης.
ο φίλων είτε χρησιμοποιείται από τη λειτουργία είτε από την κλάση, μπορεί να έχει αρνητικό αντίκτυπο στο αντικειμενοστραφικό πλαίσιο καθώς αποδυναμώνει το ενθυλάκωση η οποία είναι αντίθετη με την αντικειμενοστραφής παράδειγμα. Αυτός είναι ο λόγος που το χαρακτηριστικό φίλου πρέπει να χρησιμοποιηθεί σοφά αλλιώς θα μπορούσε Διακοπή ο κρύβονται δεδομένα του κώδικα.
Αυτό το φίλο χαρακτηριστικό δεν είναι ούτε commutative και ούτε μεταβατικός. X είναι φίλος του Y δεν συμπεραίνει ότι Y είναι επίσης φίλος του X. Εάν X είναι φίλος του Y και Y είναι φίλος του Z, δεν εμπλέκει ότι το X είναι φίλος του Z.
-
- Συγκριτικό διάγραμμα
- Ορισμός
- Βασικές διαφορές
- συμπέρασμα
Συγκριτικό διάγραμμα
Βάση σύγκρισης | Λειτουργία φίλου | Κατηγορία φίλων |
---|---|---|
Βασικός | Είναι μια συνάρτηση που χρησιμοποιείται με μια λέξη-κλειδί φίλου για να παραχωρήσει πρόσβαση σε μια μη-μέλος λειτουργία στα ιδιωτικά μέλη μιας τάξης. | Είναι μια τάξη που χρησιμοποιείται με μια λέξη-κλειδί φίλου για πρόσβαση στα ιδιωτικά μέλη μιας άλλης τάξης. |
Προώθηση της δήλωσης | Πρέπει να χρησιμοποιηθεί. | Δεν είναι υποχρεωτικό. |
Χρήση | Μια λειτουργία φίλων μπορεί να χρησιμοποιηθεί σε κάποια κατάσταση υπερφόρτωσης του χειριστή. | Μια τάξη φίλων μπορεί να χρησιμοποιηθεί όταν μια τάξη δημιουργείται στην κορυφή μιας άλλης τάξης. |
Ορισμός της λειτουργίας του φίλου
ο φίλη χρησιμοποιείται για πρόσβαση στα ιδιωτικά και προστατευμένα μέλη μιας τάξης, επιτρέποντας στη μη-μέλος λειτουργία να αποκτήσει πρόσβαση. Σε αυτόν τον τύπο λειτουργίας, μια λέξη-κλειδί φίλου χρησιμοποιείται πριν από το όνομα της λειτουργίας κατά τη στιγμή της δήλωσης. Υπάρχουν ορισμένες περιοριστικές συνθήκες που εφαρμόζονται στη λειτουργία φίλων. Η πρώτη προϋπόθεση είναι ότι η λειτουργία φίλων δεν κληρονομείται από τάξη παιδιών. Η δεύτερη προϋπόθεση είναι ότι ο προσδιοριστής κλάσης αποθήκευσης μπορεί να μην υπάρχει στη λειτουργία φίλων, πράγμα που σημαίνει ότι δεν μπορεί να δηλωθεί ως στατικός και εξωτερικός.
Η λειτουργία φίλου δεν καλείται με αντικείμενο επικλήσεως της κλάσης. Τα παραδείγματα της λειτουργίας φίλων είναι: μια παγκόσμια συνάρτηση, μια λειτουργία μέλους μιας κλάσης, ένα πρότυπο λειτουργίας μπορεί να είναι μια λειτουργία φίλου. Ας το καταλάβουμε με τη βοήθεια ενός παραδείγματος.
#περιλαμβάνω Απαιτείται μια λειτουργία φίλου όταν μια λειτουργία χρειάζεται να έχει πρόσβαση σε δύο ή περισσότερες ανεξάρτητες τάξεις, εσωτερικά μέλη. Από την άλλη πλευρά, μια τάξη φίλων απαιτείται όταν μια τάξη απαιτεί την πρόσβαση στα μέλη μιας άλλης τάξης. Όταν μια λειτουργία πολλαπλών μελών πρέπει να είναι φίλος αυτής της λειτουργίας, στην περίπτωση αυτή, είναι καλύτερο να χρησιμοποιήσετε τάξη φίλων.
συμπέρασμα