razlike između preopterećenja i polimorfizam

L

LBdgWgt

Guest
Hi all,

Ja sam vrlo naviknut programa u C, ali za OOP ja dont imati koncept prilično duboko yet.Ja sam (možda) jednostavno pitanje: što je razlika između (funkcija) preopterećenja koncept C i polimorfizam u C ?kao što sam primijetio, oni imaju skoro istu svrhu: osigurati jednu definiciju (ime) za mnoge vrste podataka.ali sam isto tako primijetio da u polimorfizam, to nije samo za funkcije, ali i za operatore.bilo koje druge razlike?

hvala za odgovor,

 
Zapravo, preopterećenja i polimorfizam je ista stvar.
Pustiti mene popuštanje te primjer:
Recimo da imate funkciju koja ispisuje ono što vam poslati ga (int, char, ..)

U slučaju da ne koristite t preopterećenja (polimorfizam) morat ćete napraviti novu funkciju (različite funkcije) za svaki tip:

void displayOneInt (int x)
(
cout <<x;
)

void displayOneChar (char c)
(
cout <<c;
)

void displayTwoInt (int x, int y)
(
cout <<x <<y;
)

void displayThreeChar (char c1, c2 char, char C3)

(
cout <<c1 <<c2 <<c3;
)

i tako dalje ..

Ali, u slučaju da koristite preopterećenja (polimorfizam) imat ćete jednu funkciju (istog imena), ali s različitim implementacije:

void display (int x)
(
cout <<x;
)

void display (int x, int y)
(
cout <<x <<y;
)

void display (char c)
(
cout <<c;
)
void display (char c1, c2 char)
(
cout <<c1 <<c2;
)

kao što možete vidjeti, u ovom slučaju sve što morate učiniti je pozvati funkciju prikaza iz glavnog i dati jedan ili dva int int ili char i tako dalje, i prevodilac će karta tvoj poziv ispravnu funkciju prototipa.To je ono što mi zovemo preopterećenja ili polimorfizam.

O operatori dio ..Operatori su funkcije previše.Samo oni nisu napisali ste.tako da su Encapsulated za zaštitu (OOP temeljne značajke).Dakle, možete ih preopterećenja te ali ti t možete urediti njihov izvorni kod.Tako da u osnovi rade istu stvar kao primjer iznad.
Nadam se da odgovor na pitanje.

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" />
 
Preopterećenje je implementacija polimorfizma.

Polimorfizam je apstraktan pojam.

 
Poštovani Prijatelju,Zapravo Polimorfizam je koncept u kojem imamo naziv funkcije je ista, ali ni argument ili povratak tipa je drugačija.Preopterećenje je praktičan pristup kako bi se postigla Polimorfizam.Have a nice day .......

 
Polimorfizam znači da jedna osoba koja postoji u više oblika.Ona pruža fleksibilnost primjene sustava.To pojednostavljuje i smanjuje kodiranje preraditi koji su uključeni u izmjene i razvoju aplikacija.To se odnosi na sposobnost da se objekt na različite oblike ovisno o situaciji.

Prema načelu polimorfizam dizajn, istu poruku poslati na različite predmete rezultate u različitim ponašanje.Ponašanje ovisi o vrsti objekta koji prima poruku.

Primjer:
Svaka tipka na tipkovnici obavlja određenu radnju kad je generirana pritiska poruku za taj ključ.Međutim, pomoću polimorfizam, isti kôd s mala promjena može se koristiti različite tipke na tipkovnici za pokretanje određenih akcija.

Polimorfizam se može koristiti baštinu jasan koncept napraviti bazu u klase i to definirati naziv funkcije CanEat (), onda bi drugi razredi koji nasljeđuju baze klasa Override tu funkciju u svakoj klasi u funkciji Glavni stvoriti objekt svake klase pretvoriti svaki objekt u bazu tip onda poziv svake funkcije s osnova referentni sada isti kôd je potreban za poziv funkcije za svaki razred, ali svaki Make različitih rezultat.

ali kao što je samo preopterećenja funkcije s istim imenom, ali različite parametre tako da ove dvije su sasvim različite koncepte.

konfuziju poslati privatnu poruku.

 
preopterećenja je statična polimorfizam ili početkom obvezujuće.
rano binding znači bistar izvršenja postupka u vrijeme prevođenja.

 

Welcome to EDABoard.com

Sponsor

Back
Top