
C# - dědičnost a rozhraní
Ahoj, v Javě je hračka rozeznat dědičnost od rozhraní.
public class Trida extends ZdedenaTrida implements TridaRozhrani, DalsiTridaRozhrani {...}
Jak to ale rozeznat v C#, kde to vypadá nějak takhle?
public class Trida : ZdedenaTrida, TridaRozhrani, DalsiTridaRozhrani {...}
Co když budu chtít žádné dědění a 3 rozhraní?
public class Trida : NejakaTridaRozhrani, TridaRozhrani, DalsiTridaRozhrani {...}
V C# je tusim konvence, ze rozhrani se pojmenovaji s I na zacatku. Treba rozhrani tridy Vejce bude IVejce.
to je vsude, no, zalezi na code stylu, nebo ze jakoze prekladac pozna ze souror zacina I, tak je to interface?
Prekladac to pozna protoze to je interface, jde o to aby to odlisil clovek, kdyz kouka na definici tridy...
Tak to pozna kazdy kdo pouziva nejaky normalni idcko.
A jak to poznas v JAVE, kdyz se "I" dava jen v c#?
Protoze rozhrani se v jave pisi az za klicove slovo implements. Ale s tim I jsem se setkal i v Jave, nicmene to neni nutne...
To co píšeš nedává smysl.
Asi jen tobe. Mrkni na tohle:
JAVA:
C#
Z toho Java kodu je kazdemu jasne, ze Serializable je inteface, protoze za implements nic jineho nemuze byt. V C# to muze byt klidne i trida a musel bys otvirat Serializable, abys zjistil jestli to je to, nebo ono. Proto se pouziva to I...
Ok, mrkni nak interface oznacuje idcko
Chápu, překladač to pozná. Takže pro přehlednost je v C# lepší si k rozhraní psát I. Díky za odpovědi. :)
Tak to tam proste napises, prekladac to pozna.
Rozdíl mezi třídou a rozhraním je tak myslím zcela zřejmý.
Jiste, ale tak otazka nestoji...
Ptal se i na to, jak to pozná překladač.
Podle klíčového slova CLASS a INTERFACE
A já jsem psal co?