Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Note
Yhteisön eturyhmät ovat nyt siirtyneet Yammerista Microsoft Viva Engageen. Liity Viva Engage -yhteisöön ja osallistu uusimpiin keskusteluihin täyttämällä Pyydä käyttöoikeutta rahoitukseen ja toimintoihin Viva Engage -yhteisö -lomake ja valitse yhteisö, johon haluat liittyä.
Tässä artikkelissa kuvataan staattiset luokan jäsenet X++:ssa. Yleensä staattiset menetelmät on tarkoitettu seuraaviin tapauksiin:
- -menetelmällä ei ole syytä käyttää jäsenmuuttujia, jotka on määritetty luokassa.
- -menetelmällä ei ole syytä kutsua mitään luokan esiintymää (ei-staattisia) menetelmiä.
Staattisen luokan jäsenet ilmoitetaan staattisen avainsanan avulla. Staattinen avainsana ohjaa järjestelmän luomaan vain yhden -menetelmän esiintymän riippumatta siitä, montako luokan esiintymää on. Tätä yhtä esiintymää käytetään koko istunnon ajan.
Staattiset menetelmät
Tässä osiossa kuvataan tilannetta, jossa merirosvouksen estämiseen käytetään ohjelmistoavaintyyppiä. Jokaisella ohjelmistoavaimen esiintymällä voi olla oma yksilöllinen arvonsa. Koska kaikkien ohjelmistoavainten on oltava ohjelmistoavainten suunnittelusääntöjen mukaisia, ohjelmistoavainten vastaavuuden testaava logiikka on sama kaikille ohjelmistoavaimille. Tämän vuoksi määritysmenetelmän, joka sisältää vastaavuuden vahvistuslogiikan, on oltava staattinen.
Tässä on esimerkki menetelmästä, joka on määritetty staattisen avainsanan avulla.
public class SoftwareKey
{
static public boolean validateSoftwareKey(str _softwareKeyString)
{
// Your code here.
return false;
}
}
Seuraavassa esimerkissä sinun ei tarvitse muodostaa SoftwareKey-luokan esiintymää, ennen kuin kutsut staattisen menetelmän luokassa. Kun haluat kutsua staattista validateSoftwareKey-menetelmää , syntaksi alkaa -menetelmän sisältävän luokan nimellä. Kaksoispisteparia (::) käytetään yhdistämään luokan nimi staattisen menetelmän nimeen.
boolean yourBool = SoftwareKey::validateSoftwareKey(yourSoftwareKeyString);
Staattiset kentät
Staattiset kentät ovat muuttujia, jotka on määritetty staattisen avainsanan avulla. Käsitteellisesti ne koskevat luokkaa, eivät luokan esiintymiä.
Staattiset konstruktorit
Staattisen konstruktorin suorittaminen on taattu, ennen kuin staattisia tai esiintymäkutsuja tehdään luokkaan. Staattisen konstruktorin suoritus on suhteessa käyttäjän istuntoon. Staattisella konstruktorilla on seuraava syntaksi.
static void TypeNew()
Et koskaan nimenomaisesti kutsu staattista konstruktoria. Kääntäjä luo koodin varmistaakseen, että konstruktoria kutsutaan täsmälleen kerran ennen luokan muita menetelmiä. Staattisen konstruktorin avulla alustetaan staattisia tietoja tai suoritetaan tietty toiminto, joka on suoritettava vain kerran. Staattiselle konstruktorille ei voi antaa parametreja, ja se on merkittävä staattiseksi.
Seuraavassa koodiesimerkissä näytetään, miten voit luoda yksittäisen esiintymän staattisen konstruktorin avulla.
public class Singleton
{
private static Singleton instance;
private void new()
{
}
static void TypeNew()
{
instance = new Singleton();
}
public static Singleton Instance()
{
return Singleton::instance;
}
}
Singleton takaa, että vain yhtä luokan esiintymää kutsutaan. Seuraavassa esimerkissä näytetään, miten singleton alustaa.
Singleton i = Singleton::Instance();
Staattiset menetelmät
Staattiset menetelmät, joita kutsutaan myös luokkametodeiksi, kuuluvat luokkaan ja luodaan käyttämällä avainsanaa staattinen. Objektia ei tarvitse alustaa, ennen kuin voit käyttää staattisia menetelmiä. Staattisia menetelmiä käytetään usein taulukoihin tallennettujen tietojen kanssa. Jäsenmuuttujia ei voi käyttää staattisessa menetelmässä. Voit käyttää seuraavaa syntaksia staattisen menetelmän kutsumiseen.
ClassName::methodName();
Staattiset ja esiintymämenetelmät
Menetelmien accessor-avainsanat eivät koskaan rajoita kutsuja kahden samassa luokassa olevan menetelmän välillä riippumatta siitä, mikä menetelmä on staattinen tai ei-staattinen. Staattisessa menetelmässä uuden konstruktorimenetelmän kutsut ovat kelvollisia, vaikka uusi konstruktorimenetelmä olisi sisustettu yksityisellä valitsimella. Näiden kutsujen syntaksi edellyttää uuden avainsanan käyttämistä. Staattisen menetelmän koodin on muodostettava oman luokkansa esiintymäobjekti, ennen kuin se voi kutsua luokan esiintymismenetelmiä.