Jaa


X++ staattisen luokan jäsenet

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ä staattisia menetelmiä käytetään seuraavissa tapauksissa:

  • -menetelmän ei tarvitse käyttää jäsenmuuttujia, jotka on määritetty luokassa.
  • -menetelmän ei tarvitse kutsua mitään luokan esiintymää (ei-staattisia) menetelmiä.

Staattisen luokan jäsenten ilmoittaminen staattisen avainsanan avulla. Staattinen avainsana ohjaa järjestelmän luomaan vain yhden -menetelmän esiintymän luokan esiintymien määrästä riippumatta. Käytä tätä yhtä esiintymää 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 käyttämällä staattista avainsanaa.

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ä. Kaksoispistepari (::) yhdistää luokan nimen staattisen menetelmän nimeen.

boolean yourBool = SoftwareKey::validateSoftwareKey(yourSoftwareKeyString);

Staattiset kentät

Staattiset kentät ovat muuttujia, jotka ilmoitetaan staattisen avainsanan avulla. Käsitteellisesti ne koskevat luokkaa, eivät luokan esiintymiä.

Staattiset konstruktorit

Staattinen konstruktori suoritetaan aina, ennen kuin staattisia tai esiintymäkutsuja tehdään luokkaan. Staattisen konstruktorin suoritus on suhteessa käyttäjän istuntoon. Staattinen konstruktori käyttää seuraavaa syntaksia.

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 voit alustaa staattiset tiedot tai suorittaa tietyn toiminnon, joka on suoritettava vain kerran. Et voi antaa parametreja staattiselle konstruktorille, 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ä luokassa on vain yksi esiintymä. Seuraavassa esimerkissä näytetään, miten singleton alustaa.

Singleton i = Singleton::Instance();

Staattinen menetelmä

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ä. Staattisilla menetelmillä voit käsitellä taulukoihin tallennettuja tietoja. Jäsenmuuttujia ei voi käyttää staattisessa menetelmässä. Käytä 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ää, että käytät uutta avainsanaa. Staattisen menetelmän koodin on muodostettava oman luokkansa esiintymäobjekti, ennen kuin se voi kutsua luokan esiintymismenetelmiä.