Osnovna klasa - .NET

Autor: Peter Berry
Datum Stvaranja: 11 Kolovoz 2021
Datum Ažuriranja: 22 Lipanj 2024
Anonim
Изучение ASP.NET Core MVC / #6 - Фреймворк Entity. Работа с базой данных
Video: Изучение ASP.NET Core MVC / #6 - Фреймворк Entity. Работа с базой данных

Sadržaj

Definicija - Što znači osnovna klasa - .NET?

Bazna klasa, u smislu C #, je klasa koja se koristi za stvaranje ili izvođenje drugih klasa. Klase izvedene iz osnovne klase nazivaju se dječjim razredima, podrazredima ili izvedenim klasama. Bazna klasa ne nasljeđuje od bilo koje druge klase i smatra se roditeljem izvedene klase.

Osnovna klasa tvori sredstva kojima se nasljeđivanje ostvaruje izvedenicom. Klasa izvedena iz osnovne klase nasljeđuje i podatke i ponašanje. Na primjer, vozilo može biti osnovna klasa iz koje se mogu izvesti izvedeni razredi automobila i autobusa. Automobil i autobus su vozila i svaki od njih predstavlja svoje specijalizacije bazne klase.

Kao i u Javi, ali za razliku od C ++, i C # ne podržava više nasljeđivanja klasa. C # se razlikuje od Java eksplicitnim označavanjem virtualnog modifikatora za sve virtualne članove.

Bazna klasa je također poznata kao roditeljska klasa ili superklasa.


Uvod u Microsoft Azure i Microsoft Cloud | Kroz ovaj vodič naučit ćete o čemu se radi računalstvo u oblaku i kako vam Microsoft Azure može pomoći da preselite i pokrenete svoje poslovanje iz oblaka.

Techopedia objašnjava osnovnu klasu - .NET

Bazna klasa pomaže u stvaranju specijalizirane klase koja može ponovno koristiti kôd koji je implicitno stečen iz osnovne klase (osim konstruktora i destruktora) i proširiti funkcionalnost osnovne klase dodavanjem ili nadjačavanjem članova relevantnih za izvedenu klasu u izvedenoj klasi. U C # događaji su deklarirani u osnovnoj klasi koja se može podići iz izvedenih klasa. Generičke klase koje se koriste za kapsuliranje operacija koje nisu specifične za određenu vrstu podataka služe kao osnovne klase, pružajući generičko ponašanje kako bi se postigla fleksibilnost i ponovna upotreba koda.

Ključna svojstva osnovne klase u C #:

  • Članovima osnovne klase (konstruktor, metoda instance ili pristupnik svojstva instancije) pristupa se u izvedenoj klasi pomoću ključne riječi "base".
  • Osnovne klase automatski se aktiviraju prije izvedenih klasa.
  • Izvedena klasa može komunicirati s osnovnom klasom tijekom instanciranja pozivanjem konstruktora osnovne klase s odgovarajućim popisom parametara.
  • Članovima osnovne klase može se pristupiti iz izvedene klase kroz eksplicitni popis.
  • Budući da sama bazna klasa može biti izvedena klasa, klasa može imati mnogo osnovnih klasa.
  • Pripadnici izvedene klase mogu pristupiti javnim, zaštićenim, unutarnjim i zaštićenim unutarnjim pripadnicima osnovne klase.
  • Zbog tranzitivne prirode nasljeđivanja, iako izvedena klasa ima samo jednu osnovnu klasu, ona nasljeđuje članove koji su deklarirani u roditelju osnovne klase.
  • Izjavom metode u osnovnoj klasi kao virtualnom, izvedena klasa može nadjačati tu metodu vlastitom implementacijom. I nadjačana i nadjačana metoda i svojstvo moraju imati iste modifikatore razine pristupa kao što su virtualni, apstraktni ili nadjačani.
  • Kada se ključna riječ "sažetak" upotrebljava za metodu, treba je nadjačati u bilo kojem neapstraktnom razredu koji izravno nasljeđuje iz te klase.
  • Abstraktne osnovne klase kreiraju se pomoću ključne riječi "apstraktno" u njegovoj deklaraciji i koriste se za sprečavanje izravnog pokretanja pomoću ključne riječi "nova". Mogu se koristiti samo kroz izvedene klase koje implementiraju apstraktne metode.
  • Bazna klasa može spriječiti naslijeđivanje drugih klasa iz nje tako što će sve članove proglasiti "zapečaćenima".
  • Članovi bazne klase mogu se sakriti u izvedenoj klasi koristeći ključnu riječ "novo" da naznače da član nije namijenjen nadjačavanju osnovnog člana. Ako se ne koristi "novo", prevodilac generira upozorenje.

Iako se osnovna klasa i sučelje mogu koristiti naizmjenično, klase su fleksibilnije od sučelja iz perspektive verzije. Bazna klasa je poželjna u većini slučajeva, osim sljedećih scenarija gdje:


  • Nekoliko nepovezanih klasa čine osnovu izvedene klase
  • Razredi već imaju uspostavljene osnovne razrede
  • Agregiranje nije prikladno ili praktično
Ova je definicija napisana u C #