Diskuze: Vysvetlenie pojmov interface a abstract
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= 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.
Abstraktní třídy mohou mít implementované metody (mohou mít již
naporgramovanou funkčnost), ale interface ne. Oboje jsou určeny k dědění.
Příklad abstraktní třídy je třeba šestiboký hranol. Nevíš, jestli to
bude krychle nebo kvádr, ale víš, jak se bude počítat objem a obsah, takže
to předprogramuješ. A příklad interface je třeba tvar. Víš, že bude mít
nějakou barvu atd. i ten obsah a objem, ale nevíš, jak může tvar vypadat a
proto nemůžeš předprogramovat tyto metody, ale jen víš, že tam budou.
Doufám, že jsem ti to alespoň trochu přiblížil...
Takze v podstate ak mam nejaku taku predstavu ze co viem urcite tak pouzijem abstract class kde si mozem predprogramovat funkcnost. A ak nemam tak pouzijem interface. V podstate u tej abstract class ak si aj predprogramujem tak pri dedeni mozem pouzit overried nie ?
A ak som spravne pochopil tak si spravim v abstract class napriklad vypocet objemu toho kvadra a potom pri dedeni to budem musiet do zdedenej triedy napisat nie ?
Trida muze dedit pouze od jedne jine tridy ale pak muze dedit od libovolneho poctu interface takze:
abstraktni trida se pouziva abys definoval, co je zakladem tveho objektu a pomoci interface definujes co navic tvoje trida umi.
priklad:
interface- IVykreslitelne
interface- IVytisknutelne
abstraktni trida- geometricky_obrazec
abstraktni trida-
2d_geometricky_obrazec:geometricky_obrazec,IVykreslitelne
abstraktni trida- 3d_geometricky_obrazec:geometricky_obrazec
tvoje trida- kruh:2d_geometricky_obrazec
tvoje trida- ctverec:2d_geometricky_obrazec
tvoje trida- koule:3d_geometricky_obrazec
tvoje trida- krychle:3d_geometricky_obrazec,IVytisknutelne
Zobrazeno 5 zpráv z 5.