Kazalo:
Opredelitev - Kaj pomenijo člani razreda?
Člani razreda v C # so člani razreda, ki predstavljajo podatke in obnašanje razreda.
Člani razreda so člani, razglašeni v razredu, in vsi tisti (razen konstruktorjev in destruktorjev), ki so v vseh razredih prijavljeni v svoji dedni hierarhiji.
Člani razreda so lahko naslednje vrste:
- Konstante, ki predstavljajo konstantne vrednosti
- Polja, ki predstavljajo spremenljivke
- Metode, ki zagotavljajo storitve, kot so obračun ali druga dejanja za svoje člane
- Lastnosti, ki definirajo lastnosti razreda in vključujejo dejanja za njihovo pridobivanje in spreminjanje
- Dogodki, ustvarjeni za komunikacijo med različnimi razredi / predmeti
- Kazalniki, ki pomagajo pri dostopu do primerkov razredov, podobnih nizom
- Operaterji, ki definirajo semantiko, kadar se uporabljajo v izrazih z instancami razreda
- Konstruktorji primerkov za inicializacijo članov razredov primerkov
- Statični konstruktor za inicializacijo samega razreda
- Destruktorji za izvajanje dejanj, ki jih je treba izvesti, preden se zavržejo primerki razreda
- Vrste, ki so lokalni za razred (tip ugnezdenega)
Člane razreda lahko določite posamezno s katero koli od naslednjih dostopnosti:
- Javno dostopno s katero koli kodo znotraj trenutne ali zunanje montaže
- Zaščiteno - dostopnost znotraj istega razreda ali iz njega izpeljanega razreda
- Zasebna - dostopnost v istem razredu
- notranja dostopnost znotraj trenutne montaže
- zaščitena notranja dostopnost znotraj trenutne sestave ali razredov, ki izhajajo iz razreda, ki vsebuje
Za razliko od Jave, kjer je privzeta stopnja dostopnosti člana razreda javna, je v C # zasebna.
Tehopedija razlaga člane razreda
Člani razreda se inicializirajo v konstruktorjih, ki jih je mogoče preobremeniti z različnimi podpisi. Za razrede, ki nimajo konstruktorja, se ustvari privzeti konstruktor, ki inicializira člane razreda (do privzetih vrednosti).
Za razliko od C ++, C # dovoljuje razredu podedovanje samo iz enega osnovnega razreda. Vendar lahko razred izhaja iz več vmesnikov, vendar morajo biti vsi člani vmesnika implementirani. Ti člani vmesnikov za izvajanje razredov so privzeto vidni javnosti in ne morejo imeti drugih modifikatorjev dostopa.
V izpeljanem razredu se dedujejo vsi člani osnovnega razreda razen konstruktorjev. Izpeljani člani razreda lahko skrijejo člana osnovnega razreda, za katerega je treba uporabiti 'novo' ključno besedo, da označijo, da osnovni član ni preglašen in se izognejo opozorilom prevajalnika.
Član statičnega razreda je član statičnega razreda (ki ga ni mogoče instancirati ali podedovati), do katerega lahko dostopate samo z imenom razreda. Za razliko od člana primerka ima eno kopijo statičnega člana, ki se inicializira pred prvim dostopom in pred svojim statičnim konstruktorjem (če obstaja).
Člani abstraktnega razreda preprečujejo neposredno instanciranje in morajo biti uporabljeni v izpeljanem razredu, da se lahko uporablja. Da bi preprečili dedovanje razreda ali članov razreda, lahko razred ali njegove člane razglasimo za „zapečatene“. Člani razreda se lahko uporabljajo kot konstanta "čas sestavljanja" z modifikatorjem "const" in kot konstante izvajanja z modifikatorjem "samo za branje".
Med deklariranjem članov razreda v novem deklaracijskem prostoru veljajo naslednja pravila:
- Razen konstruktorjev in destruktorjev morajo vsi ostali člani imeti ime, ki se razlikuje od imena razreda
- Imena stalnice, polja, lastnosti, dogodka ali vrste morajo biti edinstvena znotraj razreda
- Več načinov je mogoče deklarirati z istim imenom, vendar se morajo med seboj podpisati
- Podpis indeksirja in operaterja mora biti edinstven med tistimi, prijavljenimi v razredu
- Član razreda ne more imeti rezerviranih podpisov, ki so imena članov rezervirana za lastnosti, dogodke, kazalo in 'Dokončaj'
- Vrsta člana, parameter in povratna vrednost metode, delegat ali indeks mora biti dostopen kot sam član
- Uporabniki, ki jih določijo uporabniki, morajo imeti raven dostopnosti kot javna