
Три клона на полиморфизма
- Ad hoc полиморфизмът е, когато дадена функция се изпълнява по различен начин в зависимост от ограничен брой специфични типове и комбинации от входни параметри. Пример за ad hoc полиморфизъм е претоварването на функциите.
- Параметричният полиморфизъм е, когато кодът е написан без спецификация на типа, и така може да се използва с произволен брой различни типове, посочени по-късно. В обектно-ориентираното програмиране това често се нарича генерично програмиране.
- Полиморфизмът на включването, известен също като подтип, е, когато едно име може да се отнася до случаи на произволен брой различни класове, стига те да споделят една и съща суперклас.
Пример за полиморфизъм в Java
Примерния код
class OverloadedObject {void overloadedMethod (int a) {System.out.println ("Този метод се извиква, когато параметърът е цяло число. a =" + a); } void overloadedMethod (int a, int b) {System.out.println ("Този метод се извиква, когато има два параметъра и те са цели числа. a =" + a + ", b =" + b); } void overloadedMethod (double a) {System.out.println ("Този метод се извиква, когато има един параметър и той е номер с двойна прецизност. a =" + a); }} клас DemonstrateOverloading {публичен статичен void main (String args []) {OverloadedObject myObj = new OverloadedObject (); myObj.overloadedMethod (1); myObj.overloadedМетод (2, 3); myObj.overloadedMethod (4); }}
Примерно извеждане на код
Този метод се извиква, когато параметърът е цяло число. a = 1 Този метод се извиква, когато има два параметъра и те са цели числа. a = 2, b = 3 Този метод се извиква, когато параметърът е число с двойна прецизност. a = 4
Забележете, че той произвежда различен изход, базиран на различни входни параметри, въпреки че класа и името на метода, извикани, са едни и същи всеки път.
Обектно-ориентиран, изход, параметър, полиморфен вирус, език за програмиране, програмни термини