polymorfi

Forfatter: Laura McKinney
Oprettelsesdato: 9 April 2021
Opdateringsdato: 24 Juni 2024
Anonim
E08 Polymorfi
Video.: E08 Polymorfi

Indhold

Definition - Hvad betyder polymorfisme?

Polymorfisme, i C #, er objekter af forskellige typer evne til at tilvejebringe en unik grænseflade til forskellige implementeringer af metoder. Det bruges normalt i forhold til sen binding, hvor opførelsen af ​​et objekt til at reagere på et opkald til dens metodemedlemmer bestemmes baseret på objekttype ved kørselstidspunkt. Polymorfisme muliggør omdefineringsmetoder i afledte klasser.

Polymorfisme udgør et af de grundlæggende begreber inden for objektorienteret programmering sammen med indkapsling og arv.


En introduktion til Microsoft Azure og Microsoft Cloud | Gennem hele denne vejledning lærer du, hvad cloud computing handler om, og hvordan Microsoft Azure kan hjælpe dig med at migrere og drive din virksomhed fra skyen.

Techopedia forklarer polymorfisme

Metodeoverbelastning, overbelastning af konstruktører og overbelastning af operatører betragtes som kompileringstid (også kaldet statisk eller ad-hoc) polymorfisme eller tidlig binding. Fremgangsmådeoverskridende, der involverer arv og virtuelle funktioner, kaldes runtime (også kaldet dynamisk, inkludering eller undertypning) polymorfisme eller sen binding. I tilfælde af kompileringstid-polymorfisme udføres identifikation af den overbelastede metode, der skal udføres, på kompileringstidspunktet. I runtime-polymorfisme identificeres imidlertid typen af ​​det objekt, hvorfra den overstyrede metode kaldes, på kørselstidspunktet.

I C # implementeres polymorfisme gennem arv og brug af nøgleordet "virtuel". Afledte klasser arver basisklassemedlemmerne, undtagen konstruktører, baseret på deres tilgængelighedsniveauer. Derfor genererer kompilatoren koden til at kontrollere og identificere den korrekte objekttype (som peges på af referencetypen) ved kørsel og den passende metode, der skal kaldes.

Et eksempel på polymorfisme er en medarbejderbase-klasse, der indeholder alle de grundlæggende detaljer om medarbejdere. Klasser som kontorist og manager kunne arve fra medarbejderbase-klassen med specifikke implementeringer (ved at tilsidesætte virtuelle metoder), hvor det er nødvendigt i de afledte klasser.


Denne definition blev skrevet i C #