Piezīmes
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt pierakstīties vai mainīt direktorijus.
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt mainīt direktorijus.
Šajā rakstā aprakstīti statiskie klases dalībnieki programmā X++. Kopumā šādos gadījumos izmantojiet statiskās metodes:
- Metodei nav jāpiekļūst dalībnieka mainīgajiem, kas ir deklarēti klasē.
- Metodei nav jāizsauc neviena klases instances (nestatiska) metode.
Deklarējiet statiskos klases dalībniekus, izmantojot statisko atslēgvārdu. Statiskais atslēgvārds liek sistēmai izveidot tikai vienu metodes instanci neatkarīgi no klases gadījumu skaita. Izmantojiet šo vienu gadījumu visā sesijas laikā.
Static methods
Šajā sadaļā aprakstīts scenārijs, kurā programmatūras atslēgas tips tiek izmantots, lai palīdzētu novērst pirātismu. Katram programmatūras atslēgas gadījumam var būt sava unikāla vērtība. Tā kā visām programmatūras atslēgām ir jāatbilst programmatūras atslēgu noformēšanas noteikumiem, loģika, kas pārbauda programmatūras atslēgu atbilstību, ir vienāda visām programmatūras atslēgām. Tāpēc metodei, kas satur atbilstības validācijas loģiku, jābūt statiskai.
Tālāk ir sniegts metodes piemērs, kas tiek deklarēts, izmantojot statisko atslēgvārdu.
public class SoftwareKey
{
static public boolean validateSoftwareKey(str _softwareKeyString)
{
// Your code here.
return false;
}
}
Šajā piemērā nav jāizveido SoftwareKey klases instance, pirms klasē izsaucat statisko metodi. Ja vēlaties izsaukt statisko validateSoftwareKey metodi, sintakse sākas ar tās klases nosaukumu, kurā ir metode. Kolu pāris (::) savieno klases nosaukumu ar statiskās metodes nosaukumu.
boolean yourBool = SoftwareKey::validateSoftwareKey(yourSoftwareKeyString);
Static fields
Statiskie lauki ir mainīgie, kurus deklarējat, izmantojot statisko atslēgvārdu. Konceptuāli tie attiecas uz klasi, nevis uz klases gadījumiem.
Static constructors
Statisks konstruktors vienmēr darbojas, pirms klasei tiek veikti statiskie vai instances izsaukumi. Statiskā konstruktora izpilde ir saistīta ar lietotāja sesiju. Statiskais konstruktors izmanto šādu sintaksi.
static void TypeNew()
Jūs nekad skaidri nezvanāt statiskajam konstruktoram. Kompilators ģenerē kodu, lai pārliecinātos, ka konstruktors tiek izsaukts tieši vienu reizi pirms jebkuras citas klases metodes. Izmantojiet statisku konstruktoru, lai inicializētu statiskos datus vai veiktu noteiktu darbību, kas jāveic tikai vienu reizi. Statiskajam konstruktoram nevar norādīt parametrus, un tas ir jāatzīmē kā statisks.
Tālāk sniegtajā koda piemērā ir parādīts, kā izveidot vienreizēju instanci, izmantojot statisku konstruktoru.
public class Singleton
{
private static Singleton instance;
private void new()
{
}
static void TypeNew()
{
instance = new Singleton();
}
public static Singleton Instance()
{
return Singleton::instance;
}
}
Vientuļais garantē, ka klasei ir tikai viens gadījums. Šis piemērs parāda, kā instancēt singletonu.
Singleton i = Singleton::Instance();
Static method
Statiskās metodes, kas tiek dēvētas arī par klases metodēm, pieder klasei un tiek izveidotas, izmantojot atslēgvārdu statisks. Pirms statisko metožu izmantošanas objekts nav jāinstancē. Izmantojiet statiskās metodes, lai strādātu ar tabulās saglabātajiem datiem. Statiskā metodē nevar izmantot dalībnieku mainīgos. Izmantojiet šādu sintaksi, lai izsauktu statiskās metodes.
ClassName::methodName();
Statiskās un instances metodes
Piekļuves atslēgvārdi metodēs nekad neierobežo zvanus starp divām metodēm, kas ietilpst vienā klasē, neatkarīgi no tā, kura metode ir statiska vai nestatiska. Statiskā metodē jaunās konstruktora metodes izsaukumi ir derīgi pat tad, ja jaunā konstruktora metode ir dekorēta ar privāto modifikatoru. Šo zvanu sintakse prasa izmantot jauno atslēgvārdu. Statiskās metodes kodam ir jāveido savas klases instances objekts, pirms tas var izsaukt jebkuras klases instances metodes.