Διαφορά μεταξύ μεταβλητών κλάσης και παρουσίας

Πίνακας περιεχομένων:

Διαφορά μεταξύ μεταβλητών κλάσης και παρουσίας
Διαφορά μεταξύ μεταβλητών κλάσης και παρουσίας

Βίντεο: Διαφορά μεταξύ μεταβλητών κλάσης και παρουσίας

Βίντεο: Διαφορά μεταξύ μεταβλητών κλάσης και παρουσίας
Βίντεο: ΣΤΑΤΙΣΤΙΚΗ [Μέρος 2ο] - Κλάσεις 2024, Ιούλιος
Anonim

Βασική διαφορά – Class vs Instance Variables

Οι περισσότερες σύγχρονες γλώσσες προγραμματισμού υποστηρίζουν Αντικειμενοστραφή Προγραμματισμό. Ένα αντικείμενο περιέχει δεδομένα ή ιδιότητες. Ένα αντικείμενο έχει συγκεκριμένες συμπεριφορές. Είναι γνωστές ως μέθοδοι. Ένα πρόγραμμα μπορεί να είναι μοντέλο χρησιμοποιώντας αντικείμενα. Ένα λογισμικό είναι μια συλλογή προγραμμάτων. Επομένως, ένα λογισμικό μπορεί να σχεδιαστεί και να υλοποιηθεί χρησιμοποιώντας αντικείμενα. Τα αντικείμενα αλληλεπιδρούν χρησιμοποιώντας μεθόδους. Ο αντικειμενοστραφής προγραμματισμός βελτιώνει την αρθρωτή και επαναχρησιμοποιησιμότητα του κώδικα. Θα πρέπει να υπάρχει μια κλάση για τη δημιουργία αντικειμένων. Μια κλάση είναι ένα προσχέδιο για τη δημιουργία ενός αντικειμένου. Επομένως, ένα αντικείμενο είναι ένα παράδειγμα μιας κλάσης. Στον προγραμματισμό, τα δεδομένα έπρεπε να αποθηκευτούν. Τα δεδομένα αποθηκεύονται σε θέσεις μνήμης. Αυτές οι θέσεις μνήμης ονομάζονται μεταβλητές. Μια μεταβλητή μέλους είναι μια μεταβλητή που σχετίζεται με ένα συγκεκριμένο αντικείμενο. Είναι προσβάσιμο για όλες τις μεθόδους του. Υπάρχουν δύο τύποι μεταβλητών μέλους που είναι μεταβλητές κλάσης και μεταβλητές στιγμιότυπου. Η βασική διαφορά μεταξύ των μεταβλητών κλάσης και στιγμιότυπου είναι ότι, εάν υπάρχει μόνο ένα αντίγραφο της μεταβλητής κοινόχρηστο με όλα τα στιγμιότυπα της κλάσης, αυτές οι μεταβλητές ονομάζονται μεταβλητές κλάσης και εάν κάθε παρουσία της κλάσης έχει το δικό της αντίγραφο της μεταβλητής, τότε αυτές οι μεταβλητές ονομάζονται μεταβλητές παρουσίας.

Τι είναι οι μεταβλητές κλάσης;

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

Διαφορά μεταξύ μεταβλητών κλάσης και στιγμιότυπου
Διαφορά μεταξύ μεταβλητών κλάσης και στιγμιότυπου

Εικόνα 01: Μεταβλητές κλάσης και μεταβλητές παρουσίας

Αναφέρετε το παρακάτω τμήμα κώδικα με μεταβλητές κλάσης.

Υπάλληλος δημόσιας τάξης {

public static int id;

δημόσιος στατικός διπλός μισθός;

}

Δοκιμή δημόσιας τάξης {

public static void main(string args){

Employee e1=new Employee();

Employee e2=new Employee();

}

}

Σύμφωνα με το παραπάνω πρόγραμμα, τα e1 και e2 είναι αντικείμενα τύπου Employee. Και οι δύο θα έχουν το ίδιο αντίγραφο μνήμης. Εάν το e1.id=1 και η εκτύπωση του e2.id θα δώσει επίσης την τιμή 1. Είναι δυνατό να εκτυπώσετε τις τιμές ταυτότητας και μισθού χρησιμοποιώντας το όνομα της κλάσης Υπάλληλος, όπως Employee.id, Employee.salary etc.

Τι είναι οι μεταβλητές παρουσίας;

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

Υπάλληλος δημόσιας τάξης {

public int id;

δημόσιος διπλός μισθός;

}

Δοκιμή δημόσιας τάξης{

public static void main(string args){

Employee e1=new Employee();

e1.id=1;

e1.salary=20000;

Employee e2=new Employee();

e2.id=2;

e2. μισθός=25000;

}

}

Στο κύριο πρόγραμμα, τα e1 και e2 είναι αναφορές στα αντικείμενα του τύπου Employee. Είναι δυνατό να εκχωρήσετε τιμές για id και μισθό χρησιμοποιώντας τον τελεστή κουκκίδας όπως e1.id, e1. μισθός κ.λπ. Το αναγνωριστικό και ο μισθός στην κατηγορία Υπάλληλος είναι γνωστές ως μεταβλητές παράδειγμα. Τα e1 και e2 είναι ξεχωριστά αντικείμενα. Κάθε αντικείμενο θα έχει ένα ξεχωριστό αντίγραφο μεταβλητών στιγμιότυπου. Το e1 θα έχει ξεχωριστό id και μισθό και το e2 θα έχει ξεχωριστό id και μισθό. Έτσι, οι μεταβλητές στιγμιότυπου δημιουργούνται όταν δημιουργείται το αντικείμενο ή η παρουσία.

Ποιες είναι οι ομοιότητες μεταξύ των μεταβλητών κλάσης και παρουσίας;

  • Και οι δύο είναι τύποι μεταβλητών.
  • Και οι δύο μεταβλητές βρίσκονται εντός μιας κλάσης αλλά εκτός οποιασδήποτε μεθόδου.

Ποια είναι η διαφορά μεταξύ μεταβλητών κλάσης και παρουσίας;

Μεταβλητές κατηγορίας έναντι μεταβλητών παρουσίας

Οι μεταβλητές κλάσης είναι μεταβλητές στις οποίες υπάρχει μόνο ένα αντίγραφο της μεταβλητής κοινόχρηστο με όλη την παρουσία της κλάσης. Οι μεταβλητές Instance είναι μεταβλητές όταν κάθε παρουσία της κλάσης έχει το δικό της αντίγραφο της μεταβλητής.
Σύλλογος
Οι μεταβλητές κλάσης συσχετίζονται με την κλάση. Οι μεταβλητές παρουσίας συσχετίζονται με αντικείμενα.
Αριθμός αντιγράφων
Οι μεταβλητές κλάσης δημιουργούν ένα αντίγραφο για όλα τα αντικείμενα. Μεταβλητές Instance δημιουργούν ξεχωριστό αντίγραφο για κάθε αντικείμενο.
Λέξεις-κλειδιά
Οι μεταβλητές κλάσης πρέπει να έχουν τη στατική λέξη-κλειδί. Οι μεταβλητές παρουσίας δεν απαιτούν ειδική λέξη-κλειδί, όπως στατική.

Σύνοψη – Class vs Instance Variables

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

Λήψη της έκδοσης PDF του Class vs Instance Variables

Μπορείτε να κατεβάσετε την έκδοση PDF αυτού του άρθρου και να τη χρησιμοποιήσετε για σκοπούς εκτός σύνδεσης σύμφωνα με τη σημείωση παραπομπής. Κατεβάστε την έκδοση PDF εδώ: Διαφορά μεταξύ μεταβλητών κλάσης και παρουσίας

Συνιστάται: