Dom Razvoj Što je izvedena klasa u .net? - definicija iz tehopedije

Što je izvedena klasa u .net? - definicija iz tehopedije

Sadržaj:

Anonim

Definicija - Što znači izvedena klasa?

Derivirana klasa u kontekstu C # je klasa stvorena ili izvedena iz druge postojeće klase. Postojeća klasa iz koje se izvedena klasa stvara nasljeđivanjem poznata je kao osnovna ili super klasa.

Dok nasljeđuje od osnovne klase, izvedena klasa implicitno nasljeđuje sve članove (osim konstruktora i destruktora) koje ponovo koristi, proširuje i mijenja ponašanje osnovne klase. Derivirana klasa nadjačava svojstva i metode osnovne klase tako da predstavlja specijaliziranu verziju osnovne klase. C # pruža mogućnost nadvladavanja i skrivanja metoda osnovne klase u izvedenoj klasi zbog čega se obje klase slobodno razvijaju i održavaju binarnu kompatibilnost.

Tehopedija objašnjava izvedenu klasu

Evo nekih značajki izvedenih klasa u C #:

  • Kao i u Javi, i za razliku od C ++, izvedena klasa ne može imati više od jedne osnovne klase, ali može se izvesti iz više od jednog sučelja. Međutim, nasljeđuje sve članove svojih matičnih klasa roditelja koji su deklarirani u svojoj hijerarhiji nasljeđivanja, zbog tranzicijske prirode nasljeđivanja.
  • Modifikatori pristupa koji se koriste u izjavi deklaracije izvedene klase određuju dopuštenja za upotrebu članova svoje osnovne klase
  • Kôd u konstruktoru izvedene klase koji se izvršava tijekom njegovog kreiranja izvršit će se tek nakon izvršenja konstruktora njegove osnovne klase
  • Derivirana klasa mora koristiti modifikator, 'nadjačati' za deklariranje virtualne metode (deklarirane u svojoj osnovnoj klasi s 'virtualnom' ključnom riječi) koju mora nadjačati. Samo se metode i svojstva primjera mogu nadjačati
  • Izvedena klasa može imati novu metodu koja skriva virtualnu metodu deklariranu u bazi (sa sličnim potpisom) pomoću ključne riječi "novo". Za pristup metodi u osnovnoj klasi iz izvedene klase može se koristiti ključna riječ 'base'
  • Klasa može spriječiti deriviranje deklaracijom u "zapečaćena" i ne može se koristiti kao osnovna klasa
  • Derivirana klasa s osnovnom klasom kao apstraktna klasa može se instancirati ako izvedena klasa nije proglašena apstraktnom, a izvedena klasa ima primjenu za sve apstraktne metode deklarirane u osnovnoj klasi
Ova je definicija napisana u kontekstu .NET
Što je izvedena klasa u .net? - definicija iz tehopedije