Turinys:
Apibrėžimas - ką reiškia klasės nariai?
Klasės nariai, pažymėti C #, yra klasės nariai, vaizduojantys klasės duomenis ir elgesį.
Klasės nariai yra klasės nariai ir visi (išskyrus konstruktorius ir naikintojus), deklaruojami visose klasėse pagal paveldėjimo hierarchiją.
Kurso nariai gali būti šių tipų:
- Pastoviąsias reikšmes vaizduojančios konstantos
- Laukai, vaizduojantys kintamuosius
- Tokių paslaugų teikimo metodai kaip skaičiavimas ar kiti veiksmai jos nariams
- Savybės, apibrėžiančios klasės ypatybes ir apimančios veiksmus jų gavimui ir keitimui
- Įvykiai, sukurti norint bendrauti tarp skirtingų klasių / objektų
- Indeksuotojai, kurie padeda pasiekti klasės egzempliorius, panašius į masyvus
- Operatoriai, apibrėžiantys semantiką, kai jie naudojami išraiškoms su klasės egzemplioriais
- Institucijų konstruktoriai inicijuoja klasės egzempliorių narius
- Statinis konstruktorius pačiai klasei inicijuoti
- Naikintojai, norintys atlikti veiksmus, kuriuos reikia atlikti prieš atsisakant klasės egzempliorių
- Klasės vietiniai tipai (įdėtasis tipas)
Klasės narius galima nurodyti atskirai su viena iš šių prieinamumų:
- Visuomenė prieinama bet kokiu kodu, esančiu dabartiniame ar išoriniame rinkinyje
- Saugoma - prieinamumas toje pačioje klasėje arba iš jos gautoje klasėje
- Privatus - prieinamumas toje pačioje klasėje
- vidinis prieinamumas per esamą mazgą
- apsaugotas vidinis pasiekiamumas dabartiniame rinkinyje ar klasėse, gautas iš klasių turinčios
Skirtingai nuo „Java“, kur numatytasis klasės nario prieinamumo lygis yra viešas, C # jis yra privatus.
„Techopedia“ paaiškina klasės narius
Klasės nariai inicijuojami konstruktoriuose, kuriuos galima perkrauti skirtingais parašais. Klasėms, kuriose nėra konstruktoriaus, bus sugeneruotas numatytasis konstruktorius, kuris inicijuoja klasės narius (iki numatytųjų verčių).
Kitaip nei C ++, C # leidžia klasei paveldėti tik iš vienos pagrindinės klasės. Tačiau klasę gali sudaryti kelios sąsajos, tačiau turi būti įdiegti visi sąsajos nariai. Šie klasės diegimo sąsajos (-ų) nariai pagal nutylėjimą yra viešai matomi ir negali turėti kitų prieigos modifikatorių.
Visi bazinės klasės nariai, išskyrus konstruktorius, yra paveldimi išvestinėje klasėje. Išvestiniai klasės nariai gali paslėpti pagrindinės klasės narį, kuriam reikia naudoti „naują“ raktinį žodį, kad būtų galima nurodyti, kad pagrindinis narys nėra ignoruojamas, ir išvengti kompiliatoriaus įspėjimų.
Statiškas klasės narys yra tas statinės klasės narys (kurio negalima nei paveldėti, nei paveldėti), prie kurio galima prisijungti tik naudojant klasės pavadinimą. Skirtingai nuo egzemplioriaus nario, jis turi vieną statinio elemento egzempliorių, kuris yra inicijuotas prieš pradedant naudotis pirmą kartą ir prieš jo statinį konstruktorių (jei yra).
Abstrakčios klasės nariai užkerta kelią tiesioginiam akimirksniui ir, norint ja naudotis, turi būti realizuoti išvestinėje klasėje. Kad klasė ar klasės nariai negalėtų paveldėti, klasė ar jos nariai gali būti paskelbti „užantspauduota“. Klasės nariai gali būti naudojami kaip „sudarymo laiko“ konstanta, naudojant „const“ modifikatorių, ir kaip vykdymo laiko konstantos, naudojant „tik skaitymo“ modifikatorių.
Skelbdami klasės narius naujoje deklaracijos vietoje, galioja šios taisyklės:
- Visi kiti nariai, išskyrus konstruktorius ir naikintojus, turi turėti skirtingą vardą nei klasės vardas
- Pastovaus, lauko, nuosavybės, įvykio ar tipo vardai klasėje turi būti unikalūs
- Keli metodai gali būti deklaruojami tuo pačiu pavadinimu, tačiau jie turėtų skirtis pagal savo parašą
- Indeksuotojo ir operatoriaus parašas turi būti unikalus tarp tų, kurie deklaruojami klasėje
- Klasės narys negali turėti rezervuotų parašų, kurie yra narių vardai, rezervuoti nuosavybėms, įvykiams, rodyklėms ir „Baigti“
- Nario tipas, parametro ir metodo, įgaliotojo ar indeksatoriaus grąžinamoji vertė turėtų būti prieinama kaip pats narys
- Vartotojo apibrėžti operatoriai turi turėti viešą prieinamumo lygį
