Indholdsfortegnelse:
Definition - Hvad betyder interfaceimplementering?
Interfaceimplementering, i C #, henviser til arven af en grænseflade af en struktur eller klasse, der giver funktionaliteten for de medlemmer, der er erklæret i interface. Medlemmerne af det implementerede interface kan omfatte metoder, egenskaber, indeksere og begivenheder.
Generelt repræsenterer en grænseflade en kontrakt, der skal overholdes af en klasse eller struktur, der implementerer alle de medlemmer, der er specificeret i grænsefladen. De vigtigste fordele ved interfaceimplementering inkluderer fleksibilitet, lav kobling, høj samhørighed og polymorf opførsel.
I C # tillader interfaceimplementering en klasse at arve fra flere grænseflader i stedet for flere klasser, så mere end en adfærd kan arves gennem flere grænseflader, der kun deler metodesignaturer. Interface kan implementeres som egenskab for at specificere, om ejendommen er skrivebeskyttet, skrivebeskyttet eller skrivebeskyttet. En grænseflade kan implementeres eksplicit for at skjule et medlem og erstatte det med et andet. I modsætning til i Java tillader C # 's eksplicitte interfaceimplementering flere grænseflader med samme metodenavn og underskrifter, at have forskellige implementeringer uden nogen navnesammenstødning og give forskellige resultater baseret på den aktuelle rollebesætning af objektet.
Techopedia forklarer implementering af interface
I lighed med en abstrakt klasse giver en grænseflade ikke en standardimplementering. Et medlem af en klasse eller struktur, der implementerer et medlem af en grænseflade, skal være offentlig, ikke-statisk og have samme navn og underskrift som det i interface.
For eksempel kan en interface IAccount implementeres af en klasse, SavingAccount, der implementerer medlemmerne af IAccount, der kan inkludere BalanceAmount, DateOfOpening osv. Som dets egenskaber og metoder som PrintStatement, CalculInterest osv.
Interfaceimplementering kan være implicit, når en baseklasse af en afledt klasse allerede implementerer grænsefladen. Alle basisgrænseflader behøver ikke specificeres eksplicit i listen over baseklasser for den afledte klasse. Derudover kan den afledte klasse ændre grænsefladeadfærden, der allerede er defineret i baseklassen ved at tilsidesætte de virtuelle medlemmer i den afledte klasse.
Interfaceimplementering er eksplicit, når medlemmer af to eller flere grænseflader, der har samme navn med samme signatur, men som udfører to forskellige funktioner, arves af en klasse eller struktur, der implementerer hvert medlem eksplicit. Et sådant medlem navngives med navnet på grænsefladen og en periode og kan kun fås adgang via et eksempel på grænsefladen. I modsætning til implicitte metoder kan eksplicitte metoder ikke være abstrakte eller virtuelle.
