Diskuze: C# Rozhraní a vícenásobná dedičnost
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 2 zpráv z 2.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Rozhraní ber jako předpis. Contract. Říkáš tim, co musí splňovat určitý objekt, aby si s ním mohl pracovat. Je to tedy Abstrakce. Povíš, že objekt musí jít klonovat - musí mít určité metody atd. Tedy tím povíš, že jsi schopný pracovat s jakýmkoliv objektem a s instancí jakékoliv třídy, která implementuje rozhraní - tedy i té, která vznikne v budoucnu.
Není to tedy k vícenásobné dědičnosti. Vícenásobná dědičnost v těchto jazycích není, protože přinášela více strastí, než-li užitku (třeba C++). Místo toho se používá kompozice třeba. (né že by to bylo bezproblémové).
Interface tedy není k vícenásobné dědičnosti ve smyslu "zdědění" logiky z více tříd. Interface je k jakési "anotaci", že ta třída něco splňuje.
Používá se tedy k abstrakci.
Zobrazeno 2 zpráv z 2.