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

nasljedjivanje , polimorfizam i višestruki poliformizam ??

[es] :: C/C++ programiranje :: nasljedjivanje , polimorfizam i višestruki poliformizam ??

[ Pregleda: 8155 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Neznalica_sa_ugla
split

Član broj: 83282
Poruke: 390
*.adsl.net.t-com.hr.



Profil

icon nasljedjivanje , polimorfizam i višestruki poliformizam ??05.09.2007. u 10:14 - pre 201 meseci
Jos nekako sam skontao , sta je nasljeđivanje i kako se providi , shvatio i sta je polimorfizam i kako ga napraviti i onda sretnem pojam VIŠESTRUKI POLIMORFIZAM !! Molio bi ako ko ima kakvih spoznaja da napise , i eventualno neki primijer HVALA . (veoma je hitno )
 
Odgovor na temu

DjoleReject
Djordje Knezevic
Zvezdara

Član broj: 85258
Poruke: 309
*.dynamic.sbb.co.yu.



+1 Profil

icon Re: nasljedjivanje , polimorfizam i višestruki poliformizam ??05.09.2007. u 12:36 - pre 201 meseci
Kada iz klase Zivotinja nasledis klasu Macka, postigao si da sve osobine koje mogu pokazivati zivotinje u globalu, automatski postaju i osobine macke, pa tebi ostaje da se u klasi Macka bavis samo specificnostima same macke. Ako si istovremeno i paralelno razvijao klase koje opisuju kvalitet dlake kod zivih bica, mozda si se nasao u situaciji da imas klase Kratkodlaki, Dugodlaki, Celavi...
Polimorfizam je kada ti svoju Macku nasledis i iz klase Zivotinja i iz klase Kratkodlaka. Sada se u samoj klasi Macka ne moras baviti ni dlakom macke, kao sto si ranije postigao i sa zivotinjskim osobinama.
Nadam se da primer nije potpuno nerazumljiv, a ako jeste - reci, nije mi tesko da smislim i nesto blize zdravom razumu ;)

Kod visestrukog nasledjivanja treba paziti na membere koji se na neki nacin definisu i u jednoj i u drugoj klasi iz koje se nasledjuje, na problem konstruktora (ako postoji problem sa redosledom pozivanja) i sa preklopljenim metodama.
Ako zelis dublje da udjes u pricu, dacu ti neke linkove ili meni karakteristicno baljezganje sa mackama i psima :), mada ni pametniji autori nemaju mnogo srecnije paralele...
Na kraju samo da znas da vecina objektno orjentisanih jezika krece od pretpostavke da visestruko nasledjivanje uopste nije potrebno i da se svi takvi problemi mogu resiti i na nacin koji nije toliko podlozan greskama. Ovo nije kompletna istina, ali ostaje cinjenica da to resenje nije idealno i da ostavlja mogucnost zavlacenja gresaka koje se tesko pronalaze... Neces biti mnogo hendikepiran ukoliko ovu temu naucis samo informativno, a u praksi je potpuno izbegnes. S druge strane, mnogi C++ programeri povlace ovaj argument da bi dokazali Java programerima koliko je njihov jezik nadmocan...
De si Deda...
 
Odgovor na temu

Neznalica_sa_ugla
split

Član broj: 83282
Poruke: 390
*.adsl.net.t-com.hr.



Profil

icon Re: nasljedjivanje , polimorfizam i višestruki poliformizam ??05.09.2007. u 18:32 - pre 201 meseci
Svakako hvala na trudu , ali ovdije je bilo rijeci ne o visestrukom nasljedjivanu ,nego o
VIŠESTRUKI POLIMORFIZAM . Znaci trebalo bi mi nesto o VIŠESTRUKOM POLIMORFIZAM . Mada se uglavnom slažem s tobom o korisnosti svega ovoga .
 
Odgovor na temu

vlaiv
Vladimir Vlaisavljevic
Novi Sad

Član broj: 15993
Poruke: 352
*.ADSL.neobee.net.



+1 Profil

icon Re: nasljedjivanje , polimorfizam i višestruki poliformizam ??07.09.2007. u 14:45 - pre 201 meseci
Pretpostavljam posto se nisam susretao sa terminom da je u pitanju sledece:

Klasa C nasledjuje Klasu A i Klasu B znaci da imamo visestruko nasledjivanje ...

E sad, posto znamo da je polimorfizam sledece:

Klasu C mozemo koristiti tamo gde se ocekuje Klasa A

onda to prevodimo u ovu visestruku terminologiju:

Klasu C mozemo koristiti tamo gde se ocekuje Klasa A ili Klasa B, samim tim imamo visestruki polimorfizam.

Da li ovo ima smisla?
 
Odgovor na temu

1jedini
Dejan Milosavljevic
BG

Član broj: 102721
Poruke: 74
*.cpe.vektor.net.



Profil

icon Re: nasljedjivanje , polimorfizam i višestruki poliformizam ??08.09.2007. u 11:06 - pre 201 meseci
Moj omiljeni primer koji demonstrira i VIRTUELNI polimorfizam ( tacnije receno virtuelno nasledjivanje).
Code:

class Jabuka
 {
  public: virtual bool ocisti()=0;
  int boja a;
 };

class PrljavaJabuka // pokupljena sa zemlje
  : virtual Jabuka 
 {
  public: bool ocisti(){ /*pranje*/; return true; }
 };

class CrvljivaJabuka // ova je ubrana sa drvete i zato nije prljava
  : virtual Jabuka 
 {
  public: void ocisti(){ /* vadjenje crva*/; return true; }
 };

class PrljavaCrvljivaJabuka // malo je duze stajala na zemlji
  : public CrvljivaJabuka
  : public PrljavaJabuka
 {
  public: void ocisti(){ CrvljivaJabuka::ocisti(); PrljavaJabuka::ocisti(); /*dodatno pranje*/}
 };



Mozemo dodati i PrskanaJabuka pa na kraju napraviti PrljavaPrskanaCrvljivaJabuka gde bi metoda vratila false.


AKA DDMM
 
Odgovor na temu

[es] :: C/C++ programiranje :: nasljedjivanje , polimorfizam i višestruki poliformizam ??

[ Pregleda: 8155 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

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