Кућа Развој Шта је основна класа - .нет? - дефиниција из техопедије

Шта је основна класа - .нет? - дефиниција из техопедије

Преглед садржаја:

Anonim

Дефиниција - Шта значи основна класа - .НЕТ?

Базна класа, у контексту Ц #, је класа која се користи за креирање или извођење других класа. Класе изведене из основне класе називају се дечјим разредима, подразредима или изведеним класама. Базна класа не наслеђује од било које друге класе и сматра се родитељем изведене класе.


Основна класа формира средства помоћу којих се наследство остварује изведеном. Класа изведена из основне класе наслеђује и податке и понашање. На пример, возило може бити основна класа из које се могу извести изведене класе аутомобила и аутобуса. Аутомобил и аутобус су возила и свако представља сопствену специјализацију базне класе.


Као и у Јави, али за разлику од Ц ++, Ц # не подржава више наслеђивања класа. Ц # се разликује од Јава експлицитним обележавањем виртуелног модификатора за све виртуелне чланове.


Базна класа је такође позната као родитељска класа или суперкласа.

Тецхопедиа објашњава основну класу - .НЕТ

Базна класа помаже у креирању специјализоване класе која може поново користити код који се имплицитно добије из основне класе (осим конструктора и деструктора) и проширити функционалност основне класе додавањем или прегласавањем чланова релевантних за изведену класу у изведеној класи. У Ц # догађаји су декларирани у основној класи која се може подићи из изведених класа. Генеричке класе које се користе за капсулирање операција које нису специфичне за одређену врсту података служе као основне класе, пружајући генеричко понашање да би се постигла флексибилност и поновна употреба кода.


Кључна својства основне класе у Ц #:

  • Члановима основне класе (конструктор, метода инстанце или приступник својства инстанце) приступа се у изведеној класи користећи кључну реч "база".
  • Базне класе се аутоматски инстанцирају пре изведених класа.
  • Изведена класа може комуницирати с основном класом током инстанцирања позивањем конструктора основне класе са одговарајућом листом параметара.
  • Члановима основне класе може се приступити из изведене класе експлицитним улогом.
  • Пошто сама базна класа може бити изведена класа, класа може имати много основних класа.
  • Припадници изведене класе могу приступити јавним, заштићеним, унутрашњим и заштићеним унутрашњим припадницима основне класе.
  • Због транзитивне природе насљеђивања, иако изведена класа има само једну основну класу, она насљеђује чланове деклариране у родитељу основне класе.
  • Декларирањем методе у основној класи као виртуалном, изведена класа може надјачати ту методу властитом имплементацијом. И прегласан и надјачавајући начин и својство морају имати исте модификаторе на нивоу приступа као што су виртуелни, апстрактни или надјачани.
  • Када се кључна реч "сажетак" користи за методу, требало би је прескочити у било којој необјективној класи која директно наслеђује од те класе.
  • Абстрактне основне класе креирају се помоћу кључне речи "апстрактно" у декларацији и користе се за спречавање директног покретања помоћу кључне речи "нова". Могу се користити само кроз изведене класе које имплементирају апстрактне методе.
  • Базна класа може спречити наслеђивање других класа из ње тако што ће све чланове прогласити „запечаћенима“.
  • Чланови основне класе могу се сакрити у изведеној класи користећи кључну реч "ново" да назначе да члан није намењен да буде надјачај основног члана. Ако се не користи „ново“, преводилац генерише упозорење.

Иако се основна класа и интерфејс могу користити наизменично, класе су флексибилније од интерфејса из перспективе верзије. Базна класа је у већини случајева пожељна осим следећих сценарија где:

  • Неколико неповезаних класа чине основу изведене класе
  • Разреди већ имају успостављене основне разреде
  • Агрегирање није погодно или практично
Ова дефиниција је написана у контексту Ц #
Шта је основна класа - .нет? - дефиниција из техопедије