Siema
Pytanie czym jest Polimorfizm ? Bez użycia przykładu , tak jak byście dostali takie pytanie i mielibyście o tym powiedzieć.
Ja bym odpowiedział, że przyjmowaniem różnych kształtów.
Polimorfizm pozwala na traktowanie obiektu jednego typu tak jakby był innego typu.
Hej,
tak w skrócie/pigułce: jest to możliwość pisania niejednoznacznego kodu, który jest kompilowany w zależności od kontekstu i domyślnych wartości...
jest kompilowany
bzdura.
Polimorfizm pozwala na późne wiązanie wywołań funkcji, w czasie wykonania programu (runtime), a nie na etapie kompilacji. Na etapie kompilacji nie wiadomo jeszcze jakiego typu będzie obiekt i jaką metodę będziemy faktycznie wywoływać. Przynajmniej to jest klasyczne ujęcie polimorfizmu, zwanego też "dynamicznym". C++ i jego szablony oferują coś co się czasem nazywa "statycznym polimorfizmem", kiedy na etapie kompilacji szablony są rozwijane, ale to bardzo wyjątkowa sytuacja.
Shalom napisał(a):
jest kompilowany
bzdura.
Fajnie jak punkt kodowania determinujje punkt widzenia.
Fakt, że to poddział Java, i akurat opisywany przez Ciebie subtype polymorpism
jest tym głównie używanym w Javie.
Ale z punktu widzenia ogólnego to akurat dość dziwaczny przypadek i standardowo omawia się parametryczny polimorphism i ad hoc - oba zasadniczo rozwiązywane na etapie kompilacji https://ncatlab.org/nlab/show/polymorphism
Tak na prawdę chodzi o różne rozwiązania tego samego problemu.