Полиморфизам (рачунарство) — разлика између измена

м
Разне исправке
м (Разне исправке)
{{МАТФДПЈ2016}}
У [[Програмски језик|програмским језицима]], '''полиморфизам''' ({{Јез-грч|πολύς}}, што значи "много" и {{Јез-грч|μορφή}}, што значи „форма, облик“) представља обезбеђивање јединственог интерфејса према ентитетима различитих [[Википедија:Вики гимназијалац/Rad sa datotekama|тип]]ова.<ref>{{cite web|url=http://www.stroustrup.com/glossary.html#Gpolymorphism|last=Stroustrup|first=Bjarne|title=Bjarne Stroustrup's C++ Glossary|date=February 19, 2007}}</ref> . ''Полиморфни тип'' је онај тип чије се операције могу применити на вредности неког другог типа или више типова.<ref name="Luca">{{Cite journal |last1=Cardelli| first1 = Luca|last2=Wegner| first2 = Peter| title = On understanding types, data abstraction, and polymorphism|date=December 1985 | url = http://lucacardelli.name/Papers/OnUnderstanding.A4.pdf| location = New York, NY, USA}}</ref> Постоји неколико фундаментално различитих типова полиморфизма:
{{cite web|url=http://www.stroustrup.com/glossary.html#Gpolymorphism|author=Bjarne Stroustrup|title=Bjarne Stroustrup's C++ Glossary|date=February 19, 2007}}</ref> . ''Полиморфни тип'' је онај тип чије се операције могу применити на вредности неког другог типа или више типова.<ref name="Luca">{{Cite journal | last1 = Cardelli | first1 = Luca| last2 = Wegner | first2 = Peter| title = On understanding types, data abstraction, and polymorphism|date=December 1985 | url = http://lucacardelli.name/Papers/OnUnderstanding.A4.pdf| location = New York, NY, USA}}</ref> Постоји неколико фундаментално различитих типова полиморфизма:
* ''[[Ад-хок полиморфизам]]'': почива на особини неких програмских језика да допуштају вишезначност имена функција и оператора ({{Јез-енг|overloading}}).
 
У динамички типизираним језицима ситуација може бити доста сложенија, јер исправна функција коју треба позвати може бити одређена једино у току извршавања.
 
Имплицитна конверзија се такође дефинише као облик полиморфизма, и назива се принудан полиморфизам.<ref name="Luca"/><ref name="Tucker2004">{{cite book|authorlast=Tucker|first=Allen B. Tucker|title=Computer Science Handbook, Second Edition|url=https://books.google.com/books?id=9IFMCsQJyscC&pg=SA91-PA5|dateyear=28 June 2004|publisher=Taylor & Francis|isbn=978-1-58488-360-9|pages=91–91}}</ref>
 
=== Параметарски полиморфизам ===
</source>
 
Џон Ч. Рејнолдс (и касније Жан-Ив Жирар) је формално развио појам полиморфизма као проширење ламбда рачуна (који се зове полиморфни ламбда рачун или [[Систем Ф]]). Било која параметарски полиморфна функција је нужно ограниченaограничена, радeћирадећи на типовима података уместо на њиховим вредностима, што је довело до концепта параметризације.
 
 
=== Статички и динамички полиморфизам ===
 
Полиморфизами се могу разликовати према томе која је имплементација изабрана - статично (у време компајлирања) или динамично (у време извршавања, обично преко виртуелне функције). Ово је познатије као статичко и динамичкoдинамичко спајање, а одговарајући облици полиморфизма се у складу са тим називају ''статички полиморфизам'' и ''динамички полиморфизам''.
 
 
363.220

измена