Obsah:
Definice - Co znamená implementace rozhraní?
Implementace rozhraní v C # označuje dědičnost rozhraní strukturou nebo třídou, která poskytuje funkčnost pro členy deklarované v rozhraní. Členové implementovaného rozhraní mohou zahrnovat metody, vlastnosti, indexátory a události.
Rozhraní obecně představuje smlouvu, kterou musí dodržovat třída nebo struktura, která implementuje všechny členy uvedené v rozhraní. Mezi hlavní výhody implementace rozhraní patří flexibilita, nízká vazba, vysoká soudržnost a polymorfní chování.
V C # implementace rozhraní umožňuje třídě zdědit z více rozhraní namísto více tříd, takže více než jedno chování může být zděděno přes více rozhraní, která sdílejí pouze signatury metody. Rozhraní lze implementovat jako vlastnost a určit, zda je vlastnost určena pouze pro čtení, pouze pro čtení nebo jen pro zápis. Rozhraní lze implementovat explicitně za účelem skrytí člena a jeho nahrazení jiným. Na rozdíl od Javy umožňuje implementace explicitního rozhraní C # více rozhraní se stejným názvem metody a podpisy, mít různé implementace bez střetu názvů a poskytovat odlišný výsledek založený na aktuálním obsazení objektu.
Techopedia vysvětluje implementaci rozhraní
Podobně jako u abstraktní třídy neposkytuje rozhraní implicitní implementaci. Člen třídy nebo struktury, který implementuje člena rozhraní, musí být veřejný, nestatický a musí mít stejné jméno a podpis jako v rozhraní.
Například rozhraní IAccount může být implementováno třídou SavingAccount, která implementuje členy IAccount, které mohou zahrnovat BalanceAmount, DateOfOpening atd. Jako jeho vlastnosti a metody jako PrintStatement, CalculateInterest atd.
Implementace rozhraní může být implicitní, když již základní třída odvozené třídy implementuje rozhraní. Všechna základní rozhraní nemusí být výslovně uvedena v seznamu základní třídy odvozené třídy. Odvozená třída může navíc změnit chování rozhraní, které bylo definováno již v základní třídě, přepsáním virtuálních členů v odvozené třídě.
Implementace rozhraní je explicitní, když členové dvou nebo více rozhraní se stejným názvem se stejným podpisem, ale vykonávajícími dvě různé funkce, jsou zděděni třídou nebo strukturou, která explicitně implementuje každého člena. Takový člen je pojmenován s názvem rozhraní a období a lze k němu přistupovat pouze prostřednictvím instance rozhraní. Na rozdíl od implicitních metod, explicitní metody nemohou být abstraktní nebo virtuální.
