Forum » Programiranje » polimorfizem v c++
polimorfizem v c++
boss-tech ::
a mi lahko kdo prosim razloži polimorfizem s svojimi besedami? k jst razumem da npr neka fukncija podrazreda prekrije isto funk nadrazreda. in lahko to določimo z besedo virtual.
ampak če mi lahko kdo razloži kaj in kako bolj točno ker mi ni ravno jasno?
ampak če mi lahko kdo razloži kaj in kako bolj točno ker mi ni ravno jasno?
OwcA ::
Poanta je v tem, da ti polimorfizem omogoča specializacijo neke operacije glede na to kdo in nad čim jo izvaja.
Recimo, midva oba znava pisati, ampak imava različne sloge pisanja (in frekvenco slovničnih napak ). Ali, ko pišem za računalnikom uporabljam druge gibe, kot ko pišem na papir.
Recimo, midva oba znava pisati, ampak imava različne sloge pisanja (in frekvenco slovničnih napak ). Ali, ko pišem za računalnikom uporabljam druge gibe, kot ko pišem na papir.
Otroška radovednost - gonilo napredka.
Zgodovina sprememb…
- spremenilo: OwcA ()
Vesoljc ::
class Base { virtual void print() { cout << "base"; } }; class Extended: public Base { virtual void print() { cout << "extended"; } }; Base* arr[2]; arr[0] = new Base; arr[1] = (Base*)new Extended; // Extended je tudi Base // in ker sta oba VSAJ Base tipa, lahko klices print funkcijo arr[0]->print(); // klic osnovne func arr[1]->print(); // klic "povozene" func // lahko pa reces tudi tole class Extended: public Base { virtual void print() { Base::print(); cout << "extended"; } };
Abnormal behavior of abnormal brain makes me normal...
Jean-Paul ::
Owca: Odlična razlaga. Mislim, da bi sedaj boss-techu moral biti polimorfizem kristalno jasen.
boss-tech ::
sam upam da bom znal razložit profesorju
se pravi:
imam razred oseba: ime,priimek, davcna, funkciji vnos in izpis
in podrazred student: vse kar ima oseba + številka indeksa, vnos in izpis-isto kot pri osebi
ko definiram vnos in izpis v studentu mi ta prekrijeta vnos in izpis osebe. če pa dam virtual mi pa more pogledat če je še kakšna podobna funkcija in gre potem v funk vnos in izpis ki je v razredu oseba.
to nej bi bil zj polimorfizem?
se pravi:
imam razred oseba: ime,priimek, davcna, funkciji vnos in izpis
in podrazred student: vse kar ima oseba + številka indeksa, vnos in izpis-isto kot pri osebi
ko definiram vnos in izpis v studentu mi ta prekrijeta vnos in izpis osebe. če pa dam virtual mi pa more pogledat če je še kakšna podobna funkcija in gre potem v funk vnos in izpis ki je v razredu oseba.
to nej bi bil zj polimorfizem?
rokpok ::
Življenjski primer.Imaš ovco, kravo in psa. Vse naštete stvari so živali. In vse živali izpuščajo glasove, vse živali imajo svojo težo, velikost... So pa stvari, ki so za posamezne živali specifične. Recimo: pes zna pomoliti taco, krava daje mleko in ovca daje volno. Kako bi sedaj to implementiral pri objektnem programiranju?
Lep pozdrav
class Zival { function izpustiGlas () { //funkcija bo definirana v podrazredu } function povejTezo () { echo "Moja teza je $this -> teza kilogramov"; } function povejVisino () { echo "Moja visina je $this -> visina centimetrov"; } } class Ovca extends Zival { $this -> teza = 30; $this -> visina = 45; function izpustiGlas () { echo "Meeeee"; } function dajVolno () { //nevem kako bi dejansko implementiral to funkcijo :) } } class Pes extends Zival { $this -> teza = 45; $this -> visina = 40; function izpustiGlas () { echo "Haw"; } function pomoliTaco () { //nevem kako bi dejansko implementiral to funkcijo :) } } class Krava extends Zival { $this -> teza = 150; $this -> visina = 90; function izpustiGlas () { echo "Muuuu"; } function dajMleko () { //nevem kako bi dejansko implementiral to funkcijo :) } }Koda sicer ni pisana v C++ (jezik je PHP) ampak princip je enak. Tehnično/strokovno bistvo polimorfizma pa je povedal že Owca.
Lep pozdrav
Rad bi bil pingvin.
64202 ::
> sam upam da bom znal razložit profesorju
Tole vse mu povej, pa bo dol padel
Polymorphism (computer science) - Wikipedia, the free encyclopedia
Polymorphism in object-oriented programming - Wikipedia, the free encyclopedia
Tole vse mu povej, pa bo dol padel
Polymorphism (computer science) - Wikipedia, the free encyclopedia
Polymorphism in object-oriented programming - Wikipedia, the free encyclopedia
I am NaN, I am a free man!
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Razlika med oklepaji in vprašanja o sintaksiOddelek: Programiranje | 1637 (940) | Rias Gremory |
» | [c#] Vprasanje glede eventovOddelek: Programiranje | 1397 (1111) | Looooooka |
» | Fibonacci in čas računanjaOddelek: Šola | 1411 (1195) | Pegaz |
» | [C++] Problem z dedovanjem šablon (template inhieritance)Oddelek: Programiranje | 1653 (1531) | Gundolf |
» | [c++] stil kodiranja, informativnoOddelek: Programiranje | 1930 (1746) | CCfly |