Hjem Utvikling Hva er grunnklasse - .net? - definisjon fra techopedia

Hva er grunnklasse - .net? - definisjon fra techopedia

Innholdsfortegnelse:

Anonim

Definisjon - Hva betyr Base Class - .NET?

En baseklasse, i sammenheng med C #, er en klasse som brukes til å opprette eller utlede andre klasser. Klasser hentet fra en baseklasse kalles barneklasser, underklasser eller avledede klasser. En baseklasse arver ikke fra noen annen klasse og regnes som foreldre til en avledet klasse.


Baseklassen danner virkemidler som arv oppnås gjennom avledning. En klasse hentet fra en baseklasse arver både data og atferd. For eksempel kan kjøretøy være en baseklasse som de avledede klassene bil og buss kan avledes fra. Både bil og buss er kjøretøy, og de representerer hver sin spesialisering av baseklasse.


Som i Java, men i motsetning til C ++, støtter ikke C # flere arv fra klasser. C # skiller seg fra Java ved eksplisitt å merke en virtuell modifiserer for alle virtuelle medlemmer.


En baseklasse er også kjent som en foreldreklasse eller superklasse.

Techopedia forklarer Base Class - .NET

Baseklasse er med på å skape en spesialisert klasse som kan gjenbruke koden som implisitt hentes fra baseklassen (unntatt konstruktører og destruktører) og utvide funksjonaliteten til baseklasse ved å legge til eller overstyre medlemmer som er relevante for avledet klasse i avledet klasse. I C # blir hendelser erklært i baseklasse som kan heves fra avledede klasser. Generiske klasser som brukes til å innkapsle operasjoner som ikke er spesifikke for en bestemt datatype, fungerer som baseklasser, og gir generisk oppførsel for å oppnå fleksibilitet og gjenbrukbarhet av kode.


Nøkkelen til egenskapene til baseklassen i C #:

  • Baseklasse medlemmer (konstruktør, en forekomstmetode eller forekomstegenskapstilgang) får tilgang til i avledet klasse ved bruk av "base" nøkkelordet.
  • Baseklasser blir automatisk instansert før avledede klasser.
  • Avledet klasse kan kommunisere til baseklassen under instansering ved å ringe baseklasse-konstruktøren med en matchende parameterliste.
  • Baseklassemedlemmer kan nås fra den avledede klassen gjennom en eksplisitt rollebesetning.
  • Siden en grunnklasse i seg selv kan være en avledet klasse, kan en klasse ha mange baseklasser.
  • Medlemmer av en avledet klasse kan få tilgang til det offentlige, beskyttede, interne og beskyttede interne medlemmer av en baseklasse.
  • På grunn av arvelighetens transitive natur, selv om en avledet klasse bare har én baseklasse, arver den medlemmene som er erklært som overordnet til baseklassen.
  • Ved å erklære en metode i baseklasse som virtuell, kan den avledede klassen overstyre metoden med sin egen implementering. Både den overstyrte og overstyrende metoden og egenskapen må ha de samme modifikatorene på tilgangsnivå som virtuell, abstrakt eller overstyring.
  • Når nøkkelordet "abstrakt" brukes for en metode, bør det overstyres i alle ikke-abstrakte klasser som direkte arver fra den klassen.
  • Abstrakte baseklasser opprettes ved å bruke det "abstrakte" nøkkelordet i erklæringen og brukes for å forhindre direkte igangsetting ved å bruke det "nye" nøkkelordet. De kan bare brukes gjennom avledede klasser som implementerer abstrakte metoder.
  • En baseklasse kan forhindre at andre klasser arver fra den ved å erklære alle medlemmene som "forseglet".
  • Basisklasse medlemmer kan skjules i en avledet klasse ved å bruke nøkkelordet "nytt" for å indikere at medlemmet ikke er ment å være en overstyring av basemedlemmet. Hvis "nytt" ikke brukes, genererer kompilatoren en advarsel.

Selv om baseklassen og grensesnittet kan brukes om hverandre, er klassene mer fleksible enn grensesnitt fra et versjonsperspektiv. Baseklasse er å foretrekke i de fleste tilfeller bortsett fra følgende scenarier der:

  • Flere ikke-relaterte klasser danner basen for den avledede klassen
  • Klassene har allerede etablert baseklasser
  • Aggregering er ikke egnet eller praktisk
Denne definisjonen ble skrevet i sammenheng med C #
Hva er grunnklasse - .net? - definisjon fra techopedia