Wolna encyklopedia
Spis treści |
Polimorfizm w programowaniu obiektowym
Polimorfizm w programowaniu obiektowym to wykazywanie różnych form działania podczas wywoływania metody w zależności od tego jakiego typu obiekt jest wskazywany przez wskaźnik lub referencję (pomijając typ wskaźnika lub referencji).
Zobacz też: metoda wirtualna, rzutowanie w górę
Polimorfizm w programowaniu funkcyjnym
to możliwość stosowania tej samej funkcji dla różnych typów parametrów. Najprostsza funkcja polimorficzna:
function f (x){
return x;
}
zwróci wartość takiego typu, jakiego będzie przekazany jej argument.
Znacznie ciekawsze mogą być polimorficzne funkcje wyższego rzędu, np.:
function f (g, x){
return g (g (x));
}
Ta funkcja przyjmuje dwa parametry. Drugi jest dowolnego typu α, zaś pierwszy jest funkcją przyjmującą argumenty typu α i zwracającą wartości również typu α (czyli jest typu α→α).
Polimorfizm statyczny
to inaczej programowanie generyczne. Jest to stosowalność tej samej procedury/funkcji do różnych typów argumentów, przy czym można statycznie (zazwyczaj w trakcie kompilacji) stwierdzić jaki będzie typ argumentów w trakcie wykonania. Przykładem są wzorce (template) w C++ oraz klasy generyczne w Javie.
Polimorfizm w wirusach komputerowych
W przypadku wirusów komputerowych polimorfizm oznacza występowanie różnych postaci jednego wirusa, jednak każda z występujących form nie została napisana, lecz powstała w wyniku działania tzw. silnika polimorficznego.
Wirusy takie określa się mianem wirusów polimorficznych. Silnik polimorficzny nie zmienia całego kodu wirusa, umożliwia on jedynie wygenerowanie nowego dekryptora.