Σημείωση
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να συνδεθείτε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Note
Οι ομάδες ενδιαφέροντος της κοινότητας έχουν πλέον μετακινηθεί από το Yammer στο Microsoft Viva Engage. Για να συμμετάσχετε σε μια κοινότητα Viva Engage και να συμμετάσχετε στις τελευταίες συζητήσεις, συμπληρώστε τη φόρμα Αίτηση πρόσβασης στο Finance and Operations Viva Engage Community και επιλέξτε την κοινότητα στην οποία θέλετε να συμμετάσχετε.
Αυτό το άρθρο περιγράφει τα στατικά μέλη κλάσης στο X++. Σε γενικές γραμμές, οι στατικές μέθοδοι προορίζονται για αυτές τις περιπτώσεις:
- Η μέθοδος δεν έχει λόγο πρόσβασης στις μεταβλητές μέλους που δηλώνονται στην κλάση .
- Η μέθοδος δεν έχει λόγο να καλέσει οποιεσδήποτε μεθόδους παρουσίας (μη στατικές) της κλάσης.
Δηλώνετε στατικά μέλη κλάσης χρησιμοποιώντας τη στατική λέξη-κλειδί. Η στατική λέξη-κλειδί δίνει εντολή στο σύστημα να δημιουργήσει μόνο μία παρουσία της μεθόδου, ανεξάρτητα από τον αριθμό των παρουσιών της κλάσης που υπάρχουν. Αυτή η μοναδική παρουσία χρησιμοποιείται σε όλη την περίοδο λειτουργίας σας.
Στατικές μέθοδοι
Αυτή η ενότητα περιγράφει ένα σενάριο όπου χρησιμοποιείται ένας τύπος κλειδιού λογισμικού για την πρόληψη της πειρατείας. Κάθε παρουσία ενός κλειδιού λογισμικού μπορεί να έχει τη δική του μοναδική τιμή. Επειδή όλα τα κλειδιά λογισμικού πρέπει να συμμορφώνονται με τους κανόνες σχεδίασης κλειδιών λογισμικού, η λογική ότι οι δοκιμές για συμμόρφωση κλειδιού λογισμικού είναι ίδια για όλα τα κλειδιά λογισμικού. Επομένως, η μέθοδος που περιέχει τη λογική επικύρωσης συμμόρφωσης θα πρέπει να είναι στατική.
Ακολουθεί ένα παράδειγμα μιας μεθόδου που δηλώνεται χρησιμοποιώντας τη στατική λέξη-κλειδί.
public class SoftwareKey
{
static public boolean validateSoftwareKey(str _softwareKeyString)
{
// Your code here.
return false;
}
}
Στο παρακάτω παράδειγμα, δεν χρειάζεται να δημιουργήσετε μια παρουσία της κλάσης SoftwareKey πριν καλέσετε μια στατική μέθοδο στην κλάση . Όταν θέλετε να καλέσετε τη μέθοδο static validateSoftwareKey , η σύνταξη ξεκινά με το όνομα της κλάσης που περιέχει τη μέθοδο . Ένα ζεύγος άνω και κάτω τελείων (::) χρησιμοποιείται για τη σύνδεση του ονόματος κλάσης με το όνομα στατικής μεθόδου.
boolean yourBool = SoftwareKey::validateSoftwareKey(yourSoftwareKeyString);
Στατικά πεδία
Τα στατικά πεδία είναι μεταβλητές που δηλώνονται χρησιμοποιώντας τη στατική λέξη-κλειδί. Εννοιολογικά, ισχύουν για την κλάση, όχι για παρουσίες της κλάσης.
Στατικές κατασκευές
Είναι εγγυημένη η εκτέλεση μιας στατικής κατασκευής προτού πραγματοποιηθούν οποιεσδήποτε στατικές κλήσεις ή κλήσεις παρουσίας στην κλάση . Η εκτέλεση της στατικής κατασκευής είναι σχετική με την περίοδο λειτουργίας του χρήστη. Η στατική κατασκευή έχει την ακόλουθη σύνταξη.
static void TypeNew()
Ποτέ δεν καλείτε ρητά τη στατική κατασκευή. Το πρόγραμμα μεταγλώττισης θα δημιουργήσει κώδικα για να βεβαιωθεί ότι η κατασκευή καλείται ακριβώς μία φορά πριν από οποιαδήποτε άλλη μέθοδο στην κλάση. Μια στατική κατασκευή χρησιμοποιείται για την προετοιμασία τυχόν στατικών δεδομένων ή για την εκτέλεση μιας συγκεκριμένης ενέργειας που πρέπει να εκτελεστεί μόνο μία φορά. Δεν μπορούν να παρέχονται παράμετροι για τη στατική κατασκευή και πρέπει να επισημανθεί ως στατική.
Το παρακάτω παράδειγμα κώδικα δείχνει πώς μπορείτε να δημιουργήσετε μια παρουσία singleton χρησιμοποιώντας μια στατική κατασκευή.
public class Singleton
{
private static Singleton instance;
private void new()
{
}
static void TypeNew()
{
instance = new Singleton();
}
public static Singleton Instance()
{
return Singleton::instance;
}
}
Το singleton εγγυάται ότι μόνο μία παρουσία της κλάσης θα κληθεί ποτέ. Το παρακάτω παράδειγμα δείχνει πώς μπορείτε να ξεκινήσει το singleton.
Singleton i = Singleton::Instance();
Στατικές μέθοδοι
Οι στατικές μέθοδοι, οι οποίες είναι γνωστές και ως μέθοδοι κλάσης, ανήκουν σε μια κλάση και δημιουργούνται χρησιμοποιώντας τη στατική λέξη-κλειδί. Δεν χρειάζεται να δημιουργήσετε ένα αντικείμενο πριν χρησιμοποιήσετε στατικές μεθόδους. Οι στατικές μέθοδοι χρησιμοποιούνται συχνά για την εργασία με δεδομένα που είναι αποθηκευμένα σε πίνακες. Οι μεταβλητές μελών δεν μπορούν να χρησιμοποιηθούν σε στατική μέθοδο. Χρησιμοποιείτε την ακόλουθη σύνταξη για να καλέσετε στατικές μεθόδους.
ClassName::methodName();
Μέθοδοι στατικής παρουσίας και παρουσίας
Οι βοηθητικές λέξεις-κλειδιά στις μεθόδους δεν περιορίζουν ποτέ τις κλήσεις μεταξύ δύο μεθόδων που βρίσκονται στην ίδια κλάση, ανεξάρτητα από τη μέθοδο που είναι στατική ή μη. Σε μια στατική μέθοδο, οι κλήσεις στη νέα μέθοδο κατασκευής είναι έγκυρες ακόμα και αν η νέα μέθοδος κατασκευής είναι διακοσμημένη με τον ιδιωτικό τροποποιητή. Η σύνταξη για αυτές τις κλήσεις απαιτεί να χρησιμοποιηθεί η νέα λέξη-κλειδί. Ο κώδικας σε μια στατική μέθοδο πρέπει να κατασκευάζει ένα αντικείμενο παρουσίας της δικής του κλάσης, για να μπορεί να καλέσει οποιεσδήποτε μεθόδους παρουσίας στην κλάση .