![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 9.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Otóż czytam poradniki, przeglądam książki i nie mogę znaleźć dobrego wytłumaczenia idei i działania polimorfizmu. Czy może ktoś podrzucić jak najprostszy przykład i go opisać? Czym polimorfizm różni się od dziedziczenia czy implementowania interfejsu po prostu? I czy ten kod: http://wklejto.pl/106402 , wykorzystuje polimorfizm? Pozdrawiam, Łukasz |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Gdyby jakoś prosto zilustrować polimorfizm to jego sedno można streścić tak: byt reaguje na zdarzenia zależnie od warunków. Dość prostym i zrozumiałym przykładem polimorfizmu jest przeciążanie funkcji. Wywołana metoda produkuje różne wyniki w zależności od tego jakiego typu dane otrzymała lub ile ich otrzymała. Inaczej może choćby reagować gdy otrzyma liczbę, a inaczej gdy jest to tablica lub obiekt określonej klasy. Jest więc do pewnego stopnia pewnym bytem abstrakcyjnym. Wywołujesz go zawsze jednakowo, ale efekty jego działania w zależności od sytuacji, kontekstu, mogą dawać różne wyniki.
Klasyczny już niemal przykład to choćby funkcja licząca pole (IMG:style_emoticons/default/smile.gif) Wiadomo, że dla różnych figur powinna ona użyć innego wzoru, a więc dynamicznie reaguje na to jakiej klasy obiekt jako parametr otrzyma. Raz będzie to kwadrat, raz trójkąt a innym razem koło. Jeszcze inną sytuacją może być choćby funkcja drukuj, która może różnie zareagować na otrzymane dane. Może je bowiem przekształcić do różnych postaci, zależnie od tego na jakie urządzenie są one kierowane. Tutaj zawsze te same dane wejściowe mogą przyjąć zupełnie inną formę wyjściową. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 03:11 |