Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Anketa: visestruko nasledjivanje u .NETu

[es] :: .NET :: Anketa: visestruko nasledjivanje u .NETu

Strane: 1 2

[ Pregleda: 10556 | Odgovora: 33 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Reljam
Relja Markovic
San Francisco

Član broj: 531
Poruke: 1793
*.client.attbi.com



+18 Profil

icon Anketa: visestruko nasledjivanje u .NETu01.06.2003. u 02:55 - pre 254 meseci
.NET ne podrzava visestruko nasledjivanje, interesuje me sta mislite o ovome? Da li vam je VN uopste potrebno u radu sa .NET jezicima?
 
Odgovor na temu

spartak

Član broj: 5625
Poruke: 631
*.beograd-3.tehnicom.net



+3 Profil

icon Re: Anketa: visestruko nasledjivanje u .NETu01.06.2003. u 13:14 - pre 254 meseci
Ja prezivljavam i bez njega, ali mislim da ne bi skodilo da postoji.
 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: Anketa: visestruko nasledjivanje u .NETu02.06.2003. u 15:59 - pre 254 meseci
Možda ne bi bilo loše da je omogućeno, pa ko voli - nek' izvoli.
Commercial-Free !!!
 
Odgovor na temu

bunker
Srđan Savković
Smederevo

Član broj: 4495
Poruke: 239
*.8.EUnet.yu



Profil

icon Re: Anketa: visestruko nasledjivanje u .NETu02.06.2003. u 16:43 - pre 254 meseci
mislim da to krsi neke koncepte objektnog programiranja. skoro sam procitao u nekom pc presu, mogu da pronadjem u kom, ako je bas frka...

inace radim javu, pored .net-a, koja podrzava interfejse, pa ako hocces da visestruko nasledjujes dodajes interfejse.

da li postoji nesto slicno u .net-u? mislim na interfejse (java interfejsi mogu da nasledjuju klasu, ali u njima ne mogu biti definisane metode...)
Nije važno stići prvi. Važno je prvo da stigneš.
 
Odgovor na temu

DarkoR
Darko Radosavljevic
software developer
Beograd

Član broj: 8459
Poruke: 52
212.124.184.*

Sajt: darkor.users.sbb.co.yu


Profil

icon Re: Anketa: visestruko nasledjivanje u .NETu02.06.2003. u 17:04 - pre 254 meseci
Jel Vi kazete da ovo ne moze???

class FirstClass {...};
class SecondClass {...};
class ThirdClass {...};

class LastClass : public FirsClass,
public SecondClass,
public ThirdClass {
......
};


Nisam siguran da ne moze !??!


 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: Anketa: visestruko nasledjivanje u .NETu02.06.2003. u 17:12 - pre 254 meseci
@DarkoR:
Can you inherit from multiple classes in C#? Simply put, this cannot be done. However there are ways around it.

@bunker:
From a design perspective we must choose a different design. C# supports what is called "Multiple Implementation", which is to says a class can implement more than one interface.
Commercial-Free !!!
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
199.171.112.*



+6 Profil

icon Re: Anketa: visestruko nasledjivanje u .NETu02.06.2003. u 18:37 - pre 254 meseci
U svojoj profesionalnoj praksi (cca 9 godina) sam samo jednom upotrebio višestruko nasleđivanje (ne računajući višestruko nasleđivanje iz apstaktnih klasa, što odgovara Java/C# interfejsima), ali je tada to zaista bilo sa dobrim razlogom. Inače, mnoge C++ biblioteke (ATL, WTL) interno koriste višestruko nasleđivanje pa sam ga "indirektno" koristio više puta.

Odgovor je dakle: svakako treba da postoji, što ne znači da bih ga često koristio.

[Ovu poruku je menjao Dragi Tata dana 02.06.2003. u 10:53 GMT]
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
199.171.112.*



+6 Profil

icon Re: Anketa: visestruko nasledjivanje u .NETu02.06.2003. u 19:13 - pre 254 meseci
Citat:
bunker:
mislim da to krsi neke koncepte objektnog programiranja. skoro sam procitao u nekom pc presu, mogu da pronadjem u kom, ako je bas frka...


U principu ljudi koji rade u nekom jeziku koji nema neku mogućnost, dokazuju kako je ta mogućnost ne samo nepotrebna, već i štetna. Tako si u mnogim tekstovima o VB 6 programiranju mogao da čitaš zašto je nasleđivanje loša stvar. Naravno, kad su u VB.NET dodali nasleđivanje, cela priča je prestala. Sindrom kiselog grožđa :)

Citat:
bunker:
inace radim javu, pored .net-a, koja podrzava interfejse, pa ako hocces da visestruko nasledjujes dodajes interfejse.


Interfejsi su samo u specijalnom slučaju zamena za višestruko nasleđivanje.

Citat:
bunker:
da li postoji nesto slicno u .net-u? mislim na interfejse (java interfejsi mogu da nasledjuju klasu, ali u njima ne mogu biti definisane metode...)


Ne da je slično, nego skoro isto (kao i mnogo šta drugo :) )
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
199.171.112.*



+6 Profil

icon Re: Anketa: visestruko nasledjivanje u .NETu02.06.2003. u 19:16 - pre 254 meseci
Citat:
DarkoR:
Jel Vi kazete da ovo ne moze???

class FirstClass {...};
class SecondClass {...};
class ThirdClass {...};

class LastClass : public FirsClass,
public SecondClass,
public ThirdClass {
......
};


Nisam siguran da ne moze !??!




To što si napisao je standardni C++, i tu naravno može. Međutim, u .NET okruženju ne može.
 
Odgovor na temu

Reljam
Relja Markovic
San Francisco

Član broj: 531
Poruke: 1793
*.microsoft.com



+18 Profil

icon Re: Anketa: visestruko nasledjivanje u .NETu02.06.2003. u 21:38 - pre 254 meseci
Citat:
Dragi Tata:
Odgovor je dakle: svakako treba da postoji, što ne znači da bih ga često koristio.
[Ovu poruku je menjao Dragi Tata dana 02.06.2003. u 10:53 GMT]


Postavljam pitanje zato sto imam jedan konkretan problem: Radim neki program sa dosta UIa, i to vrlo specificnog UIa: prakticno svaki UI element (edit box, button, itd) treba da se overloaduje i napravi specificna verzija. Ok nema problema, to barem nije tesko uraditi. Onda se poslodavac seti kako bi bilo lepo da ENTER moze da se koristi kao TAB. Ok nema problema, sada cu ja da overrideujem PreProcessMessage i eto toga. Medjutim, nastupa problem. Ja sada treba taj kod za taj override da copy&paste-ujem u svaku kontrolu koju sam overrideovao (ima ih desetak). Nedelju dana kasnije, odluci se da background color disabled kontrola treba da bude tamno plav - nema problema, sad cu ja za cas da overrideujem BackColor i ForeColor. Ups, eto jos jednog copy&paste-a. Onda smo dosli do toga da bi bilo jako lepo kada bi svaka kontrola imala specijalan bool IsValid() metod (sa istom implementacijom return true; za pola kontrola), tako da ajde i to da copy&pasteujemo svuda. .... itd.

Jedino sto pomaze je #region u C#u. Da nije toga, kod bi izgledao mnogo gore :D
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.dial.InfoSky.Net

Sajt: localhost


+5 Profil

icon Re: Anketa: visestruko nasledjivanje u .NETu02.06.2003. u 22:08 - pre 254 meseci
čekaj be reljam.. zar nije bilo lakše da nasledite neku generalnu UI klasu (apstraktnu po mogućstvu) ako ste već počeli da radite specijalizovani UI.. to mi prvo pada na pamet.. posle bi ste sve te zajebancije implementirali u vašu osnovnu klasu.. zato služi OOP ;)

dalje, mislim da postoji i drugo rešenje za tvoj prob, ali ček prvo da odgovorim nemanji ;)


dakle, mogu se složiti da MI može nekome da koristi, ali mogu i tvrditi da se sve može uraditi i bez njega ;) (svaki turing-complete jezik može...) ali neću.. pošto si poznat po flejmu ;) (nazivaš nas ovcama... c c c..)

pitanje je da li postojanje i potreba za MI opravdava moguću zbrku koju može da proizvede.. sam kažeš da si ceo jedan put koristio to direktno.. a što se indirektnog koršćenja, moraš se složiti da su vekotori i slične klase sigurno mogle da budu implementirane i bez istog ;)


elem, u javi (a sigurno i u c#, mada nisam dotle stigao ;) postoji jedna fina opcija koja je po meni u kombinaciji sa interfejsima vrlo adekvatna zamena za MI. to su tzv inner klase.. (delphi ima nešto slično, gde property može da implementira intefejs, a da nasledi klasu, ali to je druga priča..)

elem, da ne dužim, neću da učim nikog inner klasama, ali reljam, ako me razumeš, možeš da imaš inner klasu koja implementira neki od interfejsa, a usput i nasleđuje neku drugu klasu (a samim tim i preuzima zahtevano ponašanje nasleđeno iz te klase..). mislim da bi to moglo da ti reši prob..

 
Odgovor na temu

Reljam
Relja Markovic
San Francisco

Član broj: 531
Poruke: 1793
*.microsoft.com



+18 Profil

icon Re: Anketa: visestruko nasledjivanje u .NETu02.06.2003. u 22:31 - pre 254 meseci
Otvoren sam za sugestije, ja nisam mogao da se setim boljeg resenja. Problem je u tome sto bih ja hteo da umesto sto uradim:

... -> Control -> Button -> MyButton

da uradim

... -> MyControl -> Button (i opcionalno MyButton, ako je potrebno).

To trenutno ne moze da se uradi u C#u (ili ja ne znam kako). Postoje varijante preko MIa koje bi to uradile. Ima i varijanta sa jednom klasom koja odradjuje veliki deo funkcionalnosti pa onda iz stubova u toj gomili klasa pozivas metode iz te glavne klase, ali vecina ovih funkcija su ili one-lineri ili se zasnivaju na nekim static-ima iz tih klasa tako da ni to bas ne radi.

Nezgodno.

Postoji vise od jednog nacina na koji moze da se uradi MI. Da bi se izbegao problem sa visestrukim putanjama do roota (object), moze se uvesti koncept primary inheritance chaina - znaci MyButton je izveden iz Buttona kao primary chain, a iz recimo myControl kao secondary. Tako da ne moram da eksplicitno kastujem kasnije. U svakom slucaju ima vise od jednog nacina da se uradi MI.

Zombie, nisam siguran da te inner klase rade to sto ti kazes, ili barem ne u .NETu. Daj jos malo informacija ako mozes.
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
199.171.112.*



+6 Profil

icon Re: Anketa: visestruko nasledjivanje u .NETu02.06.2003. u 22:34 - pre 254 meseci
Citat:
dakle, mogu se složiti da MI može nekome da koristi, ali mogu i tvrditi da se sve može uraditi i bez njega ;)


Naravno da može. Može i bez jednostrukog nasleđivanja. Može i bez funkcija, u čistom asembleru. To međutim ne znači da je MI nepotreban, opasan, itd. Postoje situacije, kada je logičnije, čitljivije i elegantnije koristiti MI. Ako imaš klasu pauk sa funkcijom pleteMrezu i klasu covek sa funkcijom hoda, vrlo je logično da klasa spiderman bude izvedena iz obe pomenute klase. Može i drugačije, ali je ovako logično i čitljivo.

Citat:
elem, u javi (a sigurno i u c#, mada nisam dotle stigao ;) postoji jedna fina opcija koja je po meni u kombinaciji sa interfejsima vrlo adekvatna zamena za MI.


Nema ih u C#-u i nisu adekvatna zamena za MI. MI jasno odražava programerovu ideju: klasa C izvedena iz klasa A i B je istovremeno i A i B (spajdermen).
 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: Anketa: visestruko nasledjivanje u .NETu02.06.2003. u 22:45 - pre 254 meseci
Citat:
čekaj be reljam.. zar nije bilo lakše da nasledite neku generalnu UI klasu (apstraktnu po mogućstvu) ako ste već počeli da radite specijalizovani UI.. to mi prvo pada na pamet.. posle bi ste sve te zajebancije implementirali u vašu osnovnu klasu.. zato služi OOP ;)


(uz napomenu da možda nisam razumeo šta tačno misliš)

Radi se o tome da reljam ne radi specijalizovani UI od nule, nego bi da nasledi npr. gotovu klasu Windows.Forms.Textbox i još nešto pride, pa Windows.Forms.Button i opet ono pride.. Dakle, ako sam dobro razumeo relju, on bi da zajednicku funkcionalnost ovih klasa izdvoji u posebnu klasu i onda nasledi iz nje plus da nasledi potrebnu klasu iz windows.forms.

Kako smo se (skoro) složili, bilo bi dobro da je MI na raspolaganju, a niko te ne tera da koristiš isto.
Commercial-Free !!!
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.dial.InfoSky.Net

Sajt: localhost


+5 Profil

icon Re: Anketa: visestruko nasledjivanje u .NETu03.06.2003. u 01:01 - pre 254 meseci
nemanja, što volim ovakva poređenja ;)

ajde baš da pogledamo spajdermena.. da li je spajdermen čovek ili pauk. ti bi rekao i jedno i drugo. ja bi rekao, ni jedno ni drugo. (zavisi gde postaviš granicu ;)

da li on jede kao pauk. da li hoda kao pauk. da li izgleda kao pauk.. ne, on samo ima neke (ili većinu -- sve) elemente ponašanja pauka. isto tako i za njegovu čovečnu stranu ;)

dakle, on spolja izgleda (ne fizički, već po ponašanju) kao I čovek I pauk. e tu je razlika. to kako on spolja izgleda (po ponašanju) definiše njegov Interfejs prema okolini..

znači, ne možeš naslediti pauka, jel metoda Pauk.Jedi(), ili Pauk.Hodaj(), ili ... se ne može primeniti..


heh.. rekoh da volim ovakva poređenja.. prava gimnastika za mozak ;)


Citat:
Reljam:
Zombie, nisam siguran da te inner klase rade to sto ti kazes, ili barem ne u .NETu. Daj jos malo informacija ako mozes.


nažalost, ako ih nema u c#, glupo je da raspravljamo o teme..
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
65.88.180.*



+6 Profil

icon Re: Anketa: visestruko nasledjivanje u .NETu03.06.2003. u 22:01 - pre 254 meseci
Dobro zombie, ovo si lukavo izveo, ali pretpostavimo da ipak postoji klasa covek koja ima samo funkciju hoda() i klasa pauk koja ima samo funkciju pleteMrezu(), a tebi treba klasa spiderman koja ima tacno te dve funkcije (i možda jos neku pride, ali to je nebitno). Koji je najlakši, najlogičniji i najčitljiviji (obrati pažnju da ne kažem "jedini mogući") način da se to odradi?
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651



+165 Profil

icon Re: Anketa: visestruko nasledjivanje u .NETu04.06.2003. u 16:14 - pre 254 meseci
Najčitljivije je onda da napišeš novu spiderman klasu sa hoda() i pleteMrežu() i zaboraviš na nasleđivanje. :)

Inače, svaka čast za spiderman primer, baš je "plastično".
 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: Anketa: visestruko nasledjivanje u .NETu04.06.2003. u 16:23 - pre 254 meseci
Aha, Gojko, i kad trebam klasu spiderwoman onda sve pišem ponovo, je li? :)

Ili ako treba da izmenim metod pleteMrezu() onda moram na dva mesta (spiderman, spiderwoman) to da radim, umesto na jednom (spider)?

Ipak, nije to poenta ove rasprave: čak i da je višestruko nasleđivanje omogućeno ništa te ne bi spečavalo da uradiš kako ti hoćeš - sa ili bez, izbor bi bio samo do tebe.

[Ovu poruku je menjao degojs dana 04.06.2003. u 10:34 GMT]
Commercial-Free !!!
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12848



+4784 Profil

icon Re: Anketa: visestruko nasledjivanje u .NETu04.06.2003. u 16:34 - pre 254 meseci
Ovaj, a kakve bi jos to metode spiderwomen trebalo da ima?...

Aj, posto je ovo anketa, da odgovorim.
Do sad mi nije bilo potrebno ali bi bilo bolje da postoji (svaka dodatna mogucnost je dobrodosla).
 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: Anketa: visestruko nasledjivanje u .NETu04.06.2003. u 16:38 - pre 254 meseci
Svašta, govorimo generalno, a spiderman i spiderwoman su samo primer.
Recimo da praviš igricu i znaš ono izabereš npr. spiderman pa igraš igru, a možeš da izabereš i spiderwoman pa igraš igru sa tim likom.. njihove mogućnosti bi bile malo drugačije itd, itd. Pri čemu bi recimo spider mogućnosti bile iste, ali man vs woman različite itd itd...


Commercial-Free !!!
 
Odgovor na temu

[es] :: .NET :: Anketa: visestruko nasledjivanje u .NETu

Strane: 1 2

[ Pregleda: 10556 | Odgovora: 33 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.