Skip to main content

Τι είναι μια μεταβλητή instance;

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

Για παράδειγμα, αν υπάρχουν δύο αντικείμενα, a και b, όπου το αντικείμενο a έχει μεταβλητή στιγμιότυπου που ονομάζεται blah και αντικείμενο b επίσηςΈχει μια μεταβλητή στιγμιότυπου που ονομάζεται blah, οι δύο μεταβλητές blah είναι ξεχωριστές οντότητες.Κάθε μεταβλητή σχετίζεται με το αντικείμενο που το ενσωματώνει.Το πλήρες όνομα της μεταβλητής blah που σχετίζεται με το αντικείμενο a είναι a.blah, ενώ το πλήρες όνομα της μεταβλητής blah που σχετίζεται με το αντικείμενο b είναι b.blah.Καθένα εάν αυτές οι μεταβλητές μπορούν να έχουν τη δική του αξία.Εάν τα αντικείμενα a και b είναι του ίδιου τύπου και δημιουργείται ένα άλλο αντικείμενο αυτού του τύπου c και το αντικείμενο C θα έχει επίσης μια μεταβλητή instance blah, η οποία μπορεί να έχει τη δική του μοναδική τιμή. Οι μεταβλητές instance συχνά συγχέονται μεΣτατικές μεταβλητές, αλλά οι δύο είναι σημαντικά διαφορετικές.Σε αντίθεση με τις μεταβλητές περιπτώσεων, από τις οποίες κάθε αντικείμενο ενός συγκεκριμένου τύπου έχει τις δικές του, στατικές μεταβλητές έχουν μόνο μία τιμή και αυτή η τιμή είναι η ίδια για κάθε αντικείμενο του κατάλληλου τύπου.Οι στατικές μεταβλητές συχνά ονομάζονται μεταβλητές κλάσης, οι οποίες δεν είναι οι ίδιες με τις μεταβλητές στιγμιότυπων.στην οποία κατοικεί καθώς και οποιαδήποτε άλλα αντικείμενα.Αυτός ο τελικός τύπος ορατότητας, που ονομάζεται δημόσια ορατότητα, θεωρείται συχνά κακής πρακτικής για παράδειγμα μεταβλητές, επειδή είναι εύκολο να παραβιάζουμε τις αρχές ενθυλάκωσης στον αντικειμενοστραφή προγραμματισμό.Παρά αυτό το ταμπού, υπάρχουν στιγμές κατά τις οποίες οι μεταβλητές δημόσιων περιπτώσεων είναι χρήσιμες.Για παράδειγμα, πολλές τυποποιημένες κατηγορίες στη Java έχουν μεταβλητές δημόσιων περιπτώσεων, οι οποίες μερικές φορές επιτρέπουν την εύκολη τροποποίηση των ιδιοτήτων.Εάν μια τάξη κληρονομεί από την άλλη, αυτό δεν δίνει αμέσως στις δύο κατηγορίες πρόσβαση σε μεταξύ τους μεταβλητές στιγμιότυπων.Οι μεταβλητές ιδιωτικών παρουσιών στην υπερκλάση και την υποκατηγορία παραμένουν περιορισμένες μόνο σε αυτές τις τάξεις, οπότε μια ιδιωτική μεταβλητή στην υποκατηγορία δεν μπορεί να δει από την υπερκλάση και αντίστροφα.Οι μόνες μεταβλητές στιγμιότυπου που μπορούν να δουν τόσο η υπερκλάση όσο και η υποκατηγορία είναι προστατευμένες μεταβλητές στην υπερκλάση.