Διαφορά μεταξύ στατικής και μη στατικής μεθόδου

Anonim

Στατική έναντι μη στατικής μεθόδου

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

Τι είναι μια στατική μέθοδος;

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

// κώδικας της στατικής μεθόδου } } Δημόσια τάξη MyClass { public static void MyStaticMethod Η στατική μέθοδος που ορίζεται παραπάνω θα μπορούσε να καλείται ως εξής χρησιμοποιώντας το όνομα της κλάσης στην οποία ανήκει.
MyClass. MyStaticMethod ();

Ένα σημαντικό πράγμα που πρέπει να σημειωθεί είναι ότι οι στατικές μέθοδοι μπορούν να έχουν πρόσβαση μόνο σε στατικά μέλη.

Τι είναι μια μη στατική μέθοδος;

Μια μη στατική μέθοδος ή μια μέθοδος εμφάνισης είναι μια μέθοδος που σχετίζεται με ένα αντικείμενο μιας κλάσης. Επομένως, οι μη στατικές μέθοδοι ονομάζονται χρησιμοποιώντας ένα αντικείμενο της κλάσης στην οποία ορίζεται η μέθοδος. Μια μη στατική μέθοδος μπορεί να έχει πρόσβαση σε μη στατικά μέλη καθώς και σε στατικά μέλη μιας τάξης. Σε πολλές αντικειμενοστρεφείς γλώσσες (όπως C ++, C #, Java), όταν ονομάζεται μη στατική μέθοδος, το αντικείμενο που επικαλείται τη μέθοδο μεταβιβάζεται ως ένα σιωπηρό όρισμα (ονομάζεται αναφορά 'αυτό'). Έτσι, μέσα στη μέθοδο αυτή η λέξη-κλειδί μπορεί να χρησιμοποιηθεί για να αναφερθεί στο αντικείμενο που ονομάζεται μέθοδος. Ακολουθεί ένα παράδειγμα ορισμού μιας μεθόδου εμφάνισης στην Java.

Δημόσια τάξη MyClass

{ public void MyInstanceMethod ()

{ // κώδικας της μεθόδου εμφάνισης

} } που ονομάζεται ως εξής χρησιμοποιώντας ένα αντικείμενο της κλάσης στην οποία ανήκει. Το MyClass objMyClass = νέο MyClass (); objMyClass. MyInstanceMethod (); Ποια είναι η διαφορά μεταξύ στατικής και μη στατικής μεθόδου; Οι στατικές μέθοδοι είναι μέθοδοι που σχετίζονται με μια τάξη, ενώ οι μη στατικές μέθοδοι είναι μέθοδοι που σχετίζονται με αντικείμενα μιας τάξης. Μια κλάση πρέπει να παρουσιαστεί κατ 'αρχάς για να επικαλεσθεί μια μη στατική μέθοδο, αλλά οι στατικές μέθοδοι δεν έχουν αυτή την απαίτηση.Μπορούν να χρησιμοποιηθούν απλά χρησιμοποιώντας το όνομα της κλάσης που κατέχει τη στατική μέθοδο. Μια άλλη σημαντική διαφορά είναι ότι μια μη στατική μέθοδος συνήθως έχει μια αναφορά στο αντικείμενο που ονομάζεται μέθοδος και μπορεί να προσεγγιστεί χρησιμοποιώντας αυτή τη λέξη-κλειδί μέσα στη μέθοδο. Αλλά αυτή η λέξη-κλειδί δεν μπορεί να χρησιμοποιηθεί σε στατικές μεθόδους αφού δεν σχετίζονται με ένα συγκεκριμένο αντικείμενο.