Turinys:
Apibrėžimas - Ką reiškia „Base Class“ .NET.
Pagrindinė klasė C # kontekste yra klasė, naudojama kurti ar išvesti kitas klases. Iš pagrindinės klasės išvestos klasės yra vadinamos vaikų klasėmis, poklasiais arba išvestinėmis klasėmis. Bazinė klasė nepaveldima iš jokios kitos klasės ir laikoma išvestinės klasės tėvyne.
Bazinė klasė sudaro priemones, kuriomis paveldėjimas įgyvendinamas išvedant. Klasė, gauta iš bazinės klasės, paveldi ir duomenis, ir elgesį. Pvz., Transporto priemonė gali būti pagrindinė klasė, iš kurios gali būti gaunami klasių automobiliai ir autobusai. Automobilis ir autobusas yra transporto priemonės, ir kiekvienas iš jų atstovauja savo pagrindinės klasės specializacijas.
Kaip „Java“, tačiau skirtingai nei C ++, „C #“ nepalaiko kelių klasių paveldėjimo. C # skiriasi nuo „Java“ tuo, kad aiškiai pažymi virtualų modifikatorių visiems virtualiems nariams.
Pagrindinė klasė taip pat žinoma kaip pagrindinė klasė arba superklasė.
„Techopedia“ paaiškina bazinę klasę .NET
Bazinė klasė padeda sukurti specializuotą klasę, kuri gali pakartotinai panaudoti kodą, kurį netiesiogiai gauna iš pagrindinės klasės (išskyrus konstruktorius ir destruktorius), ir išplėsti bazinės klasės funkcionalumą, pridedant ar nepaisant narių, susijusių su išvestine klase, išvestine klase. C # kategorijoje įvykiai deklaruojami bazinėje klasėje, kurią galima padidinti iš išvestinių klasių. Bendrosios klasės, naudojamos operacijoms, kurios nėra būdingos tam tikram duomenų tipui, sujungti, naudojamos kaip bazinės klasės, užtikrinančios bendrąjį elgesį, siekiant lankstumo ir kodo pakartotinio panaudojimo.
Pagrindinės C klasės pagrindinės klasės savybės:
- Bazinės klasės nariams (konstruktoriui, egzemplioriaus metodui ar egzempliorių nuosavybės prieigai) prieiga prie išvestinės klasės naudojama naudojant „bazinės“ raktinį žodį.
- Bazinės klasės automatizuojamos prieš išvestines klases.
- Išvestinė klasė gali bendrauti su pagrindine klase momentizacijos metu, paskambindama bazinės klasės konstruktoriui su atitinkamų parametrų sąrašu.
- Bazinės klasės nariams gali būti prieinama iš išvestinės klasės per aiškų dalyvį.
- Kadangi pati pagrindinė klasė gali būti išvestinė klasė, klasė gali turėti daug pagrindinių klasių.
- Išvestinės klasės nariai gali patekti į viešus, saugomus, vidinius ir apsaugotus bazinės klasės narius.
- Dėl paveldimo paveldėjimo pereinamojo pobūdžio, nors išvestinė klasė turi tik vieną bazinę klasę, ji paveldi pagrindinės klasės tėvais deklaruotus narius.
- Paskelbus pagrindinės klasės metodą virtualiu, išvestinė klasė gali nepaisyti to metodo, įgyvendindama jį pati. Tiek nepaisomas, tiek svarbiausias metodas ir nuosavybė turi turėti tuos pačius prieigos lygio keitiklius, tokius kaip virtualus, abstraktus ar nepaisomas.
- Kai metodui naudojamas raktinis žodis „abstraktus“, jis turėtų būti pakeistas bet kurioje neabstraktoje klasėje, kuri tiesiogiai paveldima iš tos klasės.
- Abstrakčiosios bazinės klasės yra sukuriamos naudojant „abstraktų“ raktinį žodį jos deklaracijoje ir yra naudojamos siekiant užkirsti kelią tiesioginiam inicijavimui naudojant „naują“ raktinį žodį. Jie gali būti naudojami tik naudojant išvestines klases, kurios įgyvendina abstrakčius metodus.
- Bazinė klasė gali užkirsti kelią kitoms klasėms paveldėti iš jos, paskelbdama visus narius „uždarus“.
- Pagrindinės klasės narius galima paslėpti išvestinėje klasėje, naudojant raktinį žodį „new“, kad būtų nurodyta, jog narys nėra skirtas pagrindinio nario nepaisymui. Jei „naujas“ nenaudojamas, kompiliatorius sukuria įspėjimą.
Nors bazinę klasę ir sąsają galima naudoti pakaitomis, klasės yra lankstesnės nei sąsajos versijos požiūriu. Daugeliu atvejų pirmenybė teikiama pagrindinei klasei, išskyrus šiuos scenarijus:
- Kelios nesusijusios klasės sudaro išvestinės klasės pagrindą
- Klasės jau yra sukūrusios pagrindines klases
- Agregacija nėra tinkama ar praktiška
