3107
edits
չNo edit summary |
No edit summary |
||
В [[объектно-ориентированное программирование|объектно-ориентированном программировании]] '''полиморфизм подтипов''' (или '''полиморфизм включения''') представляет собой концепцию в [[теория типов|теории типов]], предполагающую использование единого имени (идентификатора) при обращении к объектам нескольких разных классов, при условии, что все они являются '''подклассами''' одного общего '''надкласса''' (суперкласса). Полиморфизм подтипов состоит в том, что несколько типов формируют подмножество другого типа (их базового класса) и потому могут использоваться через общий интерфейс.
== Պատմությունը ==
«Պոլիմորֆիզմ» տերմինը գալիս է ''հին հունական'' πολύς («շատ») և μορφή («ձև, տեսք») բառերից։ Տերմինն առաջին անգամ հիշատակվել է [[:en:Christopher Strachey|Քրիստոֆեր Սթրեչի]] «[[:en:Fundamental Concepts in Programming Languages|Ծրագրավորման լեզուների հիմնական հիմունքները]]» անվանումով լեկցիաների կոնսպեկտում։ Առաջին անգամ պոլիմորֆիզմը իրականացվել է [[ML]] լեզվում, [[ժառանգում (ծրագրավորում)|ժառանգում]] և [[ինկապսուլյացիա (ծրագրավորում)|ինկապսուլյացիա]] հասկացողությունների հետ միասին։ Մի քանի տարի անց [[Common Lisp]] լեզվի [[Common Lisp Object System]] ենթաբազմությունը ստանդարտավորվեց՝ դառնալով [[օբյեկտային կողմնորոշված ծրագրավորում|օբյեկտային կողմնորոշված ծրագրավորման]] առաջին ստանդարտը։
== Պոլիմորֆիզմի տեսակները ==
=== Параметрический полиморфизм ===
В следующем примере коты и псы являются подтипами животных. Процедура определена для животных, но также будет работать корректно, получив на входе один из подтипов:
<source lang=java>
abstract class Animal {
</source>
==
* [[:en:Polymorphism in object-oriented programming|Polymorphism in object-oriented programming]]
* [[Բադային տիպավորում]]
* [[Համակարգչային վիրուսների պոլիմորֆիզմ]]
* [[F համակարգ]]ը [[լամբդա֊հաշվարկ]]ի համար պարամետրական պոլիմորֆիզմով
* [[Վիրտուալ ժառանգում]]
* [[:en:Type class|
== Ծանոթագրություններ ==
{{ծանցանկ}}
[[Կատեգորիա:Օբյեկտային կողմնորոշված ծրագրավորում]]
|
edits