Cuprins:
Definiție - Ce înseamnă membrii clasei?
Membrii clasei, în C #, sunt membrii unei clase care reprezintă datele și comportamentul unei clase.
Membrii clasei sunt membri declarați în clasă și toți aceia (cu excepția constructorilor și distrugătorilor) declarați în toate clasele din ierarhia succesorală.
Membrii clasei pot fi de următoarele tipuri:
- Constante reprezentând valori constante
- Câmpuri care reprezintă variabile
- Metode care oferă servicii precum calculul sau alte acțiuni asupra membrilor săi
- Proprietăți care definesc caracteristicile clasei și includ acțiuni pentru a le obține și modifica
- Evenimente generate pentru a comunica între diferite clase / obiecte
- Indexatori care ajută la accesarea instanțelor clasei similare cu matricile
- Operatori care definesc semantica atunci când sunt folosiți în expresii cu instanțe de clasă
- Constructori de instanță pentru inițializarea membrilor instanțelor clasei
- Constructor static pentru inițializarea clasei în sine
- Distrugătorii care execută acțiunile necesare pentru a fi executate înainte ca instanțele de clasă să fie aruncate
- Tipuri care sunt locale clasei (tip cuib)
Membrii clasei pot fi specificate individual, cu oricare dintre următoarele accesibilități:
- Public - accesibil prin orice cod în cadrul ansamblului curent sau extern
- Protejat - accesibilitate în cadrul aceleiași clase sau clasei derivate
- Privat - accesibilitate în cadrul aceleiași clase
- internă - accesibilitate în cadrul ansamblului curent
- protejat intern - accesibilitate în cadrul ansamblului curent sau clase derivate din clasa conținând
Spre deosebire de Java unde nivelul de accesibilitate implicit al unui membru al clasei este public, acesta este privat în C #.
Techopedia explică membrii clasei
Membrii clasei sunt inițializați în constructori care pot fi supraîncărcați cu semnături diferite. Pentru clasele care nu au constructor, va fi generat un constructor implicit care inițializează membrii clasei (la valorile implicite).
Spre deosebire de C ++, C # permite unei clase să moștenească doar de la o clasă de bază. Cu toate acestea, o clasă poate deriva din mai multe interfețe, dar toți membrii interfeței trebuie să fie implementați. Acești membri ai interfeței de implementare a clasei au vizibilitate în mod implicit și nu pot avea alte modificatoare de acces.
Toți membrii clasei de bază, cu excepția constructorilor, sunt moșteniți în clasa derivată. Membrii clasei derivate pot ascunde membrul clasei de bază pentru care cuvântul cheie „nou” trebuie utilizat pentru a indica faptul că membrul de bază nu este suprasolicitat și să evite avertismentele compilatorului.
Un membru al clasei statice este un membru al clasei statice (care nu poate fi inițiat sau moștenit) la care se poate accesa doar folosind numele clasei. Spre deosebire de membru de instanță, acesta are o copie a unui membru static care este inițializată înainte de a fi accesat pentru prima dată și înainte de constructorul static (dacă există).
Membrii clasei abstracte împiedică instantanarea directă și trebuie să fie implementați în clasa derivată pentru a putea fi folosiți. Pentru a împiedica moștenirea unei clase sau membri ai clasei, clasa sau membrii acesteia pot fi declarați „sigilați”. Membrii clasei pot fi folosiți ca constantă în timp de compilare, utilizând modificatorul „const” și ca constante de rulare, utilizând modificatorul „readonly”.
În timp ce declară membrii clasei într-un nou spațiu de declarații, se aplică următoarele reguli:
- Cu excepția constructorilor și a distrugătorului, toți ceilalți membri trebuie să aibă un nume diferit de numele clasei
- Denumirile constantei, câmpului, proprietății, evenimentului sau tipului trebuie să fie unice în cadrul clasei
- Mai multe metode pot fi declarate cu același nume, dar ar trebui să difere în semnătura lor
- Semnarea indexatorului și a operatorului trebuie să fie unică printre cele declarate în cadrul clasei
- Membrul clasei nu poate avea semnături rezervate, care sunt nume de membri rezervate proprietăților, evenimentelor, indexatorului și „Finalizează”
- Tipul de membru, parametrul și valoarea returnată a unei metode, delegat sau indexator ar trebui să fie accesibile ca membru însuși
- Operatorii definiți de utilizator trebuie să aibă un nivel de accesibilitate ca public
