Polymorphism (computer science) (original) (raw)

About DBpedia

Polymorphie oder Polymorphismus (griechisch für Vielgestaltigkeit) ist ein Konzept in der objektorientierten Programmierung, das ermöglicht, dass ein Bezeichner abhängig von seiner Verwendung Objekte unterschiedlichen Datentyps annimmt. In älteren typisierten Programmiersprachen wird dagegen jedem Namen und jedem Wert im Quelltext eines Programms höchstens ein Typ zugeordnet. Dies bezeichnet man als Monomorphie.

Property Value
dbo:abstract تعدد الأشكال (بالإنجليزية: Polymorphism)‏ في لغات البرمجة ونظرية النمط، تعتبر تعددية الأشكال طريقة للتعامل مع الأنواع المختلفة. ويمكننا القول أنه شكل واحد رئيسي وينبثق منه أشكال فرعية يسهل التعامل معها. وهناك أنواع شائعة من تعددية الأشكال، أبرزها: * تعددية الأشكال المخصصة (بالإنجليزية: Ad hoc)‏: وذلك بتعريف واجهة بينية مشتركة لمجموعة مجهولة العدد (اعتباطية) من الأنواع المحددة المنفردة. * تعددية الأشكال المعلمي أو الوسيطي (بالإنجليزية: parametric)‏: عندما يكون لدينا واحد أو أكثر من الأنواع غير المحددة بالاسم بل عن طريق رمز مجرد يمكن أن يمثل أي نوع. * تعددية الأشكال الفرعية (و تدعى أيضا تعددية الأشكال الفرعية أو تعددية الأشكال الضمنية) (بالإنجليزية: Subtyping)‏: عندما يشير الاسم إلى أمثال من عدة أصناف مختلفة مرتبطة ببعض الأصناف الأصل (بالإنجليزية: superclass)‏ المشتركة. (ar) El polimorfisme (del Grec πολύς, polys, "molt, molts" i μορφή, morphē, "forma, figura") és una característica d'alguns llenguatges de programació que tenen la propietat d'enviar missatges sintàcticament iguals als objectes de diferents tipus. L'únic requisit que han de complir els objectes que s'utilitzen de manera polimòrfica és saber respondre al missatge que se'ls hi envia. L'aparença dels codi pot ser molt diferent depenent del llenguatge que s'utilitzi, més enllà de les òbvies diferències sintàctiques. Hi ha dos tipus genèrics de polimorfisme: el polimorfisme de sobre-càrrega i el polimorfisme de sobre-escriptura. (ca) Polymorfismus je vlastnost programovacího jazyka, objektově orientovaného programování (OOP), která umožňuje: * jednomu objektu volat jednu metodu s různými parametry (ad-hoc polymorfismus); * objektům odvozeným z různých tříd volat tutéž metodu se stejným významem v kontextu jejich třídy, často pomocí rozhraní; * přetěžování operátorů neboli provedení rozdílné operace v závislosti na typu operandů; * jedné funkci dovolit pracovat s argumenty různých typů . Rozhodnutí o tom, která metoda bude volána, je u polymorfismu prováděno až za běhu programu (tj. dynamicky pomocí virtuálních funkcí). Tím se odlišuje od přetěžování funkcí, kde je rozhodnutí o volání vhodné funkce provedeno již při překladu (tj. staticky). (cs) Polymorphie oder Polymorphismus (griechisch für Vielgestaltigkeit) ist ein Konzept in der objektorientierten Programmierung, das ermöglicht, dass ein Bezeichner abhängig von seiner Verwendung Objekte unterschiedlichen Datentyps annimmt. In älteren typisierten Programmiersprachen wird dagegen jedem Namen und jedem Wert im Quelltext eines Programms höchstens ein Typ zugeordnet. Dies bezeichnet man als Monomorphie. (de) Στην πληροφορική, ο πολυμορφισμός είναι ένα χαρακτηριστικό των γλωσσών προγραμματισμού που επιτρέπει το χειρισμό τιμών διαφορετικών τύπων δεδομένων με χρήση μιας ομοιόμορφης διεπαφής. Η έννοια του παραμετρικού πολυμορφισμού εφαρμόζεται τόσο στους τύπους δεδομένων, όσο και στις . Μια συνάρτηση που μπορεί να αποτιμηθεί ή να εφαρμοστεί σε τιμές διαφορετικών τύπων είναι γνωστή ως πολυμορφική συνάρτηση. Ένας τύπος δεδομένων που εμφανίζεται ως γενικευμένου τύπου (π.χ. μια λίστα με στοιχεία οποιουδήποτε τύπου) ονομάζεται πολυμορφικός τύπος δεδομένων, ομοίως με το γενικευμένο τύπο από τον οποίο παράγονται οι εξειδικεύσεις. Υπάρχουν αρκετά διαφορετικά είδη πολυμορφισμού, δύο από τα οποία περιγράφησαν αρχικά από τον το 1967. Αν μια συνάρτηση ορίζει διαφορετικές και πιθανώς ετερογενείς υλοποιήσεις εξαρτώμενες από ένα περιορισμένο εύρος ατομικά ορισμένων τύπων και συνδυασμών, τότε ονομάζεται . Ο ad-hoc πολυμορφισμός υποστηρίζεται από πολλές γλώσσες με τη χρήση και . Αν όλος ο κώδικας είναι γραμμένος χωρίς αναφορά συγκεκριμένων τύπων και ως εκ τούτου μπορεί να χρησιμοποιηθεί διαφανώς με οποιοδήποτε αριθμό νέων τύπων, ονομάζεται παραμετρικά πολυμορφικός. Ο (και αργότερα ο ) ανέπτυξαν τυπικά την έννοια αυτή του πολυμορφισμού ως μια προέκταση του λάμδα λογισμού (που καλείται , ή Σύστημα F). Ο παραμετρικός πολυμορφισμός υποστηρίζεται ευρέως στις συναρτησιακές γλώσσες προγραμματισμού με στατικά συστήματα τύπων. Στην αντικειμενοστραφή προγραμματιστική κοινότητα, ο προγραμματισμός με χρήση παραμετρικού πολυμορφισού συχνά αποκαλείται γενικός προγραμματισμός. Στον αντικειμενοστρεφή προγραμματισμό, ο πολυμορφισμός υποτύπων ή πολυμορφισμός συμπερίληψης (inclusion polymorphism) είναι μια έννοια της θεωρίας τύπων στην οποία ένα όνομα μπορεί να ορίζει στιγμιότυπα πολλών διαφορετικών κλάσεων, εφόσον αυτές συνδέονται με κάποια κοινή υπερκλάση. Ο πολυμορφισμός συμπερίληψης εν γένει υποστηρίζεται δια της χρήσης , για παράδειγμα αντικείμενα διαφορετικών τύπων μπορούν να αντικατσταθούν από αντικείμενα άλλου τύπου (του βασικού τους τύπου) κι έτσι είναι διαχειρίσιμα μέσω μιας κοινής διεπαφής. Εναλλακτικά, ο πολυμορφισμός συμπερίληψης μπορεί να επιτευχθεί μέσω του εξαναγκασμού τύπων, γνωστού και ως μετατροπή τύπων (type casting). Η αλληλεπίδραση μεταξύ του παραμετρικού πολυμορφισμού και της χρήσης υποτύπων οδηγεί στις έννοιες των φραγμένων ποσοδεικτών (bounded quantification) και της συνδιακύμανσης (covariance) και αντιδιακύμανσης (contravariance) (πολικότητας) των κατασκευαστών τύπων (type constructors). (el) En programación orientada a objetos, el polimorfismo se refiere a la propiedad por la que es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía. (es) In programming language theory and type theory, polymorphism is the provision of a single interface to entities of different types or the use of a single symbol to represent multiple different types. The concept is borrowed from a principle in biology where an organism or species can have many different forms or stages. The most commonly recognized major classes of polymorphism are: * Ad hoc polymorphism: defines a common interface for an arbitrary set of individually specified types. * Parametric polymorphism: not specifying concrete types and instead use abstract symbols that can substitute for any type. * Subtyping (also called subtype polymorphism or inclusion polymorphism): when a name denotes instances of many different classes related by some common superclass. (en) En informatique et en théorie des types, le polymorphisme, du grec ancien polús (plusieurs) et morphê (forme), est le concept consistant à fournir une interface unique à des entités pouvant avoir différents types. Par exemple, des opérations telles que la multiplication peuvent ainsi être étendues à des scalaires aux vecteurs ou aux matrices, l'addition, des scalaires aux fonctions ou aux chaînes de caractères, etc. Il existe plusieurs sortes de polymorphismes fondamentalement différents : Selon le langage informatique employé, le polymorphisme peut être réalisé par différents moyens, inhérents au langage ou par emploi de patrons de conception. (fr) In informatica, il termine polimorfismo (dal greco πολυμορφος composto dai termini πολυ molto e μορφή forma quindi "avere molte forme") viene usato in senso generico per riferirsi a espressioni che possono rappresentare valori di diversi tipi (dette espressioni polimorfiche). In un linguaggio non tipizzato, tutte le espressioni sono intrinsecamente polimorfiche. Il termine viene associato a due significati specifici: * nel contesto della programmazione orientata agli oggetti, si riferisce al fatto che un'espressione il cui tipo sia descritto da una classe A può assumere valori di un qualunque tipo descritto da una classe B sottoclasse di A (polimorfismo per inclusione); * nel contesto della programmazione generica, si riferisce al fatto che il codice del programma può ricevere un tipo come parametro invece che conoscerlo a priori (polimorfismo parametrico). (it) 프로그램 언어의 다형성(多形性, polymorphism; 폴리모피즘)은 그 프로그래밍 언어의 자료형 체계의 성질을 나타내는 것으로, 프로그램 언어의 각 요소들(상수, 변수, 식, 오브젝트, 함수, 메소드 등)이 다양한 자료형(type)에 속하는 것이 허가되는 성질을 가리킨다. 반댓말은 단형성(monomorphism)으로, 프로그램 언어의 각 요소가 한가지 형태만 가지는 성질을 가리킨다. (ko) ポリモーフィズム(英: polymorphism)とは、それぞれ異なる型に一元アクセスできる共通接点の提供、またはそれぞれ異なる型の多重定義を一括表現できる共通記号の提供を目的にした、型理論またはの概念および実装である。この用語は、有機組織および生物の種は様々な形態と段階を持つという生物学からの借用語である。多態性、多相性と邦訳されることが多い。 ポリモーフィズムは、通常以下の三種に分けられる。 * アドホック多相(ad hoc polymorphism)- 恣意的な型の集合に一つの共通接点を提供する。関数オーバーロード、Mix-inの一実装、型クラスなど。 * パラメトリック多相(parametric polymorphism)- 詳細化されていない型要素を内包する抽象的な型に記号表現を提供する。ジェネリクスや関数型言語の型構築子など。 * サブタイピング(subtyping)- サブタイプ多相(subtype polymorphism)やインクルージョン多相(inclusion polymorphism)とも。上位型をその下位型の数々で代替できるようにする。オブジェクト指向の多態性はこれを指す。 この他に、(row polymorphism)とポリタイピズム(polytypism)も挙げられることがある。対義語はモノモーフィズム(Monomorphism)である。 (ja) Polymorfisme staat voor veelvormigheid. In de informatica is polymorfisme een eigenschap die een programmeertaal in mindere of meerdere mate kan bezitten. Polymorf programmeren is de mogelijkheid een algoritme uit te drukken zonder dat de programmeur aandacht moet besteden aan alle verschillende gegevenstypes. In objectgeoriënteerd programmeren wordt hiermee bedoeld: het gelijkvormig zijn van de interface van klassen en objecten, maar met verschillende implementaties. De gelijkvormigheid betreft dan voornamelijk het gebruik en de naamgeving van operaties (of methodes). Polymorfisme is een van de vier kenmerken die de definitie van objectgeoriënteerd programmeren bepalen. (nl) Polimorfizm (z gr. wielopostaciowość) – mechanizmy pozwalające programiście używać wartości, zmiennych i podprogramów na kilka różnych sposobów. Inaczej mówiąc jest to możliwość wyabstrahowania wyrażeń od konkretnych typów. (pl) Полиморфизм в языках программирования и теории типов — способность функции обрабатывать данные разных типов. Существует несколько разновидностей полиморфизма. Две принципиально различных из них были описаны в 1967 году: это параметрический полиморфизм и ad-hoc-полиморфизм, прочие формы являются их подвидами или сочетаниями. Параметрический полиморфизм является истинным, т.к. подразумевает исполнение одного и того же кода для всех допустимых типов аргументов, а ad-hoc-полиморфизм — мнимым, т.к. представляет собой обеспечение косметической однородности потенциально разного исполнимого кода для каждого конкретного типа аргумента. При этом существуют ситуации, где необходимо использование именно ad-hoc-полиморфизма, а не параметрического. Теория квалифицированных типов объединяет все виды полиморфизма в единую модель. Широко распространено определение полиморфизма, приписываемое Бьёрну Страуструпу: «один интерфейс (как перечень объявлений) — много реализаций (определений, связываемых с этими объявлениями)», но под это определение подпадает лишь ad-hoc-полиморфизм (мнимый полиморфизм). (ru) Polymorfism innebär inom objektorienterad programmering att flera olika subklasser under en superklass kan hanteras som om de vore instanser av superklassen. Det innebär att klasser med olika behov vad gäller implementering av en viss metod, ändå kan anropas på samma sätt. Den verkställande programkoden finns i respektive subklass, medan det gemensamma gränssnittet definieras i superklassen. (sv) Na programação orientada a objetos, o polimorfismo permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam. Assim, é possível tratar vários tipos de maneira homogênea (através da interface do tipo mais abstrato). O termo polimorfismo é originário do grego e significa "muitas formas" (poli = muitas, morphos = formas). O polimorfismo é caracterizado quando duas ou mais classes distintas têm métodos de mesmo nome, de forma que uma função possa utilizar um objeto de qualquer uma das classes polimórficas, sem necessidade de tratar de forma diferenciada conforme a classe do objeto. Uma das formas de implementar o polimorfismo é através de uma classe abstrata, cujos métodos são declarados mas não são definidos, e através de classes que herdam os métodos desta classe abstrata. (pt) Поліморфі́зм (з грец. πολύς «багато» + μορφή «форма») — концепція в програмуванні та теорії типів, в основі якої лежить використання єдиного інтерфейсу для різнотипних сутностей або у використанні однакового символу для маніпуляцій над даними різного типу[джерело?]. На противагу поліморфізму, концепція мономорфізму вимагає однозначного зіставлення. (uk) 在编程语言和类型论中,多态(英語:polymorphism)指为不同数据类型的实体提供统一的接口,或使用一个单一的符号来表示多个不同的类型。 多态的最常见主要类别有: * 特设多态:为个体的特定类型的任意集合定义一个共同接口。 * 参数多态:指定一个或多个类型不靠名字而是靠可以标识任何类型的抽象符号。 * 子类型(也叫做子类型多态或包含多态):一个名字指称很多不同的类的实例,这些类有某个共同的超类。 (zh)
dbo:wikiPageExternalLink https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/object-oriented/polymorphism http://www.cplusplus.com/doc/tutorial/polymorphism/ http://wiki.visual-prolog.com/index.php%3Ftitle=Objects_and_Polymorphism https://docs.oracle.com/javase/tutorial/java/IandI/polymorphism.html
dbo:wikiPageID 261811 (xsd:integer)
dbo:wikiPageLength 15928 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1106361774 (xsd:integer)
dbo:wikiPageWikiLink dbr:Scheme_(programming_language) dbr:Monomorphization dbr:Delphi_(programming_language) dbc:Articles_with_example_Haskell_code dbc:Generic_programming dbr:Application_binary_interface dbr:Peter_Wegner dbr:Curiously_recurring_template_pattern dbr:Dynamic_dispatch dbr:Interface_(computing) dbr:Library_(computing) dbr:Numerical_tower dbr:Generics_in_Java dbr:Christopher_Strachey dbr:Function_overloading dbr:Bounded_quantification dbr:Luca_Cardelli dbr:ML_(programming_language) dbr:Simula dbr:Subclass_(computer_science) dbc:Articles_with_example_Pascal_code dbr:Common_Lisp_Object_System dbr:Fundamental_Concepts_in_Programming_Languages dbr:Operator_overloading dbr:Parametric_polymorphism dbr:Programming_language_theory dbc:Functional_programming dbr:Ad_hoc dbr:Ad_hoc_polymorphism dbc:Polymorphism_(computer_science) dbr:Type_system dbr:Type_theory dbr:Duck_typing dbr:Late_binding dbr:Liskov_substitution_principle dbr:Abstract_data_type dbr:Algol_68 dbc:Data_types dbr:Data_type dbc:Articles_with_example_C_Sharp_code dbr:Pascal_(programming_language) dbr:Type_class dbr:Haskell_(programming_language) dbr:Jean-Yves_Girard dbr:Covariance_and_contravariance_(computer_science) dbr:Template_(C++) dbr:Dynamically_typed dbc:Object-oriented_programming dbc:Articles_with_example_Java_code dbc:Type_theory dbr:John_C._Reynolds dbr:Lambda_calculus dbr:Template_metaprogramming dbr:System_F dbc:Programming_language_concepts dbr:Identity_(object-oriented_programming) dbr:Inheritance_(object-oriented_programming) dbr:Shared_object dbr:Implicit_type_conversion dbr:Virtual_function dbr:Structural_type_system dbr:Subtyping dbr:Multiple_dispatch dbr:Polymorphic_code dbr:Object-oriented_programming_language dbr:Parametricity dbr:Virtual_inheritance dbr:List_(computing) dbr:Static_dispatch dbr:Dynamic_libraries dbr:Function_(programming) dbr:Black_box_(systems) dbr:Abstract_class dbr:Single_dispatch dbr:Virtual_table dbr:Inheritance_in_object-oriented_programming dbr:Swift_programming_language dbr:Type-safety
dbp:wikiPageUsesTemplate dbt:Distinguish dbt:Main dbt:Reflist dbt:See_also dbt:Short_description dbt:Data_types dbt:Polymorphism
dcterms:subject dbc:Articles_with_example_Haskell_code dbc:Generic_programming dbc:Articles_with_example_Pascal_code dbc:Functional_programming dbc:Polymorphism_(computer_science) dbc:Data_types dbc:Articles_with_example_C_Sharp_code dbc:Object-oriented_programming dbc:Articles_with_example_Java_code dbc:Type_theory dbc:Programming_language_concepts
gold:hypernym dbr:Provision
rdf:type owl:Thing yago:Abstraction100002137 yago:ArtificialLanguage106894544 yago:Cognition100023271 yago:Communication100033020 yago:Concept105835747 yago:Content105809192 yago:Idea105833840 yago:Language106282651 yago:ProgrammingLanguage106898352 yago:PsychologicalFeature100023100 yago:WikicatProgrammingLanguageConcepts yago:WikicatProgrammingLanguages
rdfs:comment Polymorphie oder Polymorphismus (griechisch für Vielgestaltigkeit) ist ein Konzept in der objektorientierten Programmierung, das ermöglicht, dass ein Bezeichner abhängig von seiner Verwendung Objekte unterschiedlichen Datentyps annimmt. In älteren typisierten Programmiersprachen wird dagegen jedem Namen und jedem Wert im Quelltext eines Programms höchstens ein Typ zugeordnet. Dies bezeichnet man als Monomorphie. (de) En programación orientada a objetos, el polimorfismo se refiere a la propiedad por la que es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía. (es) 프로그램 언어의 다형성(多形性, polymorphism; 폴리모피즘)은 그 프로그래밍 언어의 자료형 체계의 성질을 나타내는 것으로, 프로그램 언어의 각 요소들(상수, 변수, 식, 오브젝트, 함수, 메소드 등)이 다양한 자료형(type)에 속하는 것이 허가되는 성질을 가리킨다. 반댓말은 단형성(monomorphism)으로, 프로그램 언어의 각 요소가 한가지 형태만 가지는 성질을 가리킨다. (ko) ポリモーフィズム(英: polymorphism)とは、それぞれ異なる型に一元アクセスできる共通接点の提供、またはそれぞれ異なる型の多重定義を一括表現できる共通記号の提供を目的にした、型理論またはの概念および実装である。この用語は、有機組織および生物の種は様々な形態と段階を持つという生物学からの借用語である。多態性、多相性と邦訳されることが多い。 ポリモーフィズムは、通常以下の三種に分けられる。 * アドホック多相(ad hoc polymorphism)- 恣意的な型の集合に一つの共通接点を提供する。関数オーバーロード、Mix-inの一実装、型クラスなど。 * パラメトリック多相(parametric polymorphism)- 詳細化されていない型要素を内包する抽象的な型に記号表現を提供する。ジェネリクスや関数型言語の型構築子など。 * サブタイピング(subtyping)- サブタイプ多相(subtype polymorphism)やインクルージョン多相(inclusion polymorphism)とも。上位型をその下位型の数々で代替できるようにする。オブジェクト指向の多態性はこれを指す。 この他に、(row polymorphism)とポリタイピズム(polytypism)も挙げられることがある。対義語はモノモーフィズム(Monomorphism)である。 (ja) Polimorfizm (z gr. wielopostaciowość) – mechanizmy pozwalające programiście używać wartości, zmiennych i podprogramów na kilka różnych sposobów. Inaczej mówiąc jest to możliwość wyabstrahowania wyrażeń od konkretnych typów. (pl) Polymorfism innebär inom objektorienterad programmering att flera olika subklasser under en superklass kan hanteras som om de vore instanser av superklassen. Det innebär att klasser med olika behov vad gäller implementering av en viss metod, ändå kan anropas på samma sätt. Den verkställande programkoden finns i respektive subklass, medan det gemensamma gränssnittet definieras i superklassen. (sv) Поліморфі́зм (з грец. πολύς «багато» + μορφή «форма») — концепція в програмуванні та теорії типів, в основі якої лежить використання єдиного інтерфейсу для різнотипних сутностей або у використанні однакового символу для маніпуляцій над даними різного типу[джерело?]. На противагу поліморфізму, концепція мономорфізму вимагає однозначного зіставлення. (uk) 在编程语言和类型论中,多态(英語:polymorphism)指为不同数据类型的实体提供统一的接口,或使用一个单一的符号来表示多个不同的类型。 多态的最常见主要类别有: * 特设多态:为个体的特定类型的任意集合定义一个共同接口。 * 参数多态:指定一个或多个类型不靠名字而是靠可以标识任何类型的抽象符号。 * 子类型(也叫做子类型多态或包含多态):一个名字指称很多不同的类的实例,这些类有某个共同的超类。 (zh) تعدد الأشكال (بالإنجليزية: Polymorphism)‏ في لغات البرمجة ونظرية النمط، تعتبر تعددية الأشكال طريقة للتعامل مع الأنواع المختلفة. ويمكننا القول أنه شكل واحد رئيسي وينبثق منه أشكال فرعية يسهل التعامل معها. وهناك أنواع شائعة من تعددية الأشكال، أبرزها: (ar) El polimorfisme (del Grec πολύς, polys, "molt, molts" i μορφή, morphē, "forma, figura") és una característica d'alguns llenguatges de programació que tenen la propietat d'enviar missatges sintàcticament iguals als objectes de diferents tipus. L'únic requisit que han de complir els objectes que s'utilitzen de manera polimòrfica és saber respondre al missatge que se'ls hi envia. L'aparença dels codi pot ser molt diferent depenent del llenguatge que s'utilitzi, més enllà de les òbvies diferències sintàctiques. (ca) Polymorfismus je vlastnost programovacího jazyka, objektově orientovaného programování (OOP), která umožňuje: * jednomu objektu volat jednu metodu s různými parametry (ad-hoc polymorfismus); * objektům odvozeným z různých tříd volat tutéž metodu se stejným významem v kontextu jejich třídy, často pomocí rozhraní; * přetěžování operátorů neboli provedení rozdílné operace v závislosti na typu operandů; * jedné funkci dovolit pracovat s argumenty různých typů . (cs) Στην πληροφορική, ο πολυμορφισμός είναι ένα χαρακτηριστικό των γλωσσών προγραμματισμού που επιτρέπει το χειρισμό τιμών διαφορετικών τύπων δεδομένων με χρήση μιας ομοιόμορφης διεπαφής. Η έννοια του παραμετρικού πολυμορφισμού εφαρμόζεται τόσο στους τύπους δεδομένων, όσο και στις . Μια συνάρτηση που μπορεί να αποτιμηθεί ή να εφαρμοστεί σε τιμές διαφορετικών τύπων είναι γνωστή ως πολυμορφική συνάρτηση. Ένας τύπος δεδομένων που εμφανίζεται ως γενικευμένου τύπου (π.χ. μια λίστα με στοιχεία οποιουδήποτε τύπου) ονομάζεται πολυμορφικός τύπος δεδομένων, ομοίως με το γενικευμένο τύπο από τον οποίο παράγονται οι εξειδικεύσεις. (el) In programming language theory and type theory, polymorphism is the provision of a single interface to entities of different types or the use of a single symbol to represent multiple different types. The concept is borrowed from a principle in biology where an organism or species can have many different forms or stages. The most commonly recognized major classes of polymorphism are: (en) En informatique et en théorie des types, le polymorphisme, du grec ancien polús (plusieurs) et morphê (forme), est le concept consistant à fournir une interface unique à des entités pouvant avoir différents types. Par exemple, des opérations telles que la multiplication peuvent ainsi être étendues à des scalaires aux vecteurs ou aux matrices, l'addition, des scalaires aux fonctions ou aux chaînes de caractères, etc. Il existe plusieurs sortes de polymorphismes fondamentalement différents : (fr) In informatica, il termine polimorfismo (dal greco πολυμορφος composto dai termini πολυ molto e μορφή forma quindi "avere molte forme") viene usato in senso generico per riferirsi a espressioni che possono rappresentare valori di diversi tipi (dette espressioni polimorfiche). In un linguaggio non tipizzato, tutte le espressioni sono intrinsecamente polimorfiche. Il termine viene associato a due significati specifici: (it) Polymorfisme staat voor veelvormigheid. In de informatica is polymorfisme een eigenschap die een programmeertaal in mindere of meerdere mate kan bezitten. Polymorf programmeren is de mogelijkheid een algoritme uit te drukken zonder dat de programmeur aandacht moet besteden aan alle verschillende gegevenstypes. (nl) Полиморфизм в языках программирования и теории типов — способность функции обрабатывать данные разных типов. Существует несколько разновидностей полиморфизма. Две принципиально различных из них были описаны в 1967 году: это параметрический полиморфизм и ad-hoc-полиморфизм, прочие формы являются их подвидами или сочетаниями. Параметрический полиморфизм является истинным, т.к. подразумевает исполнение одного и того же кода для всех допустимых типов аргументов, а ad-hoc-полиморфизм — мнимым, т.к. представляет собой обеспечение косметической однородности потенциально разного исполнимого кода для каждого конкретного типа аргумента. При этом существуют ситуации, где необходимо использование именно ad-hoc-полиморфизма, а не параметрического. Теория квалифицированных типов объединяет все виды пол (ru) Na programação orientada a objetos, o polimorfismo permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam. Assim, é possível tratar vários tipos de maneira homogênea (através da interface do tipo mais abstrato). O termo polimorfismo é originário do grego e significa "muitas formas" (poli = muitas, morphos = formas). Uma das formas de implementar o polimorfismo é através de uma classe abstrata, cujos métodos são declarados mas não são definidos, e através de classes que herdam os métodos desta classe abstrata. (pt)
rdfs:label Polymorphism (computer science) (en) تعدد الأشكال (علم الحاسوب) (ar) Polimorfisme (programació) (ca) Polymorfismus (programování) (cs) Polymorphie (Programmierung) (de) Πολυμορφισμός (υπολογιστές) (el) Polimorfismo (informática) (es) Polymorphisme (informatique) (fr) Polimorfismo (informatica) (it) 다형성 (컴퓨터 과학) (ko) ポリモーフィズム (ja) Polymorfisme (informatica) (nl) Polimorfizm (informatyka) (pl) Polimorfismo (ciência da computação) (pt) Polymorfism (objektorienterad programmering) (sv) Полиморфизм (информатика) (ru) Поліморфізм (програмування) (uk) 多态 (计算机科学) (zh)
rdfs:seeAlso dbr:Duck_typing
owl:differentFrom dbr:Polymorphic_code
owl:sameAs freebase:Polymorphism (computer science) yago-res:Polymorphism (computer science) wikidata:Polymorphism (computer science) dbpedia-ar:Polymorphism (computer science) dbpedia-bg:Polymorphism (computer science) http://bn.dbpedia.org/resource/পলিমরফিজম_(কম্পিউটার_বিজ্ঞান) http://bs.dbpedia.org/resource/Polimorfizam_(programiranje) dbpedia-ca:Polymorphism (computer science) dbpedia-cs:Polymorphism (computer science) dbpedia-de:Polymorphism (computer science) dbpedia-el:Polymorphism (computer science) dbpedia-es:Polymorphism (computer science) dbpedia-et:Polymorphism (computer science) dbpedia-fa:Polymorphism (computer science) dbpedia-fi:Polymorphism (computer science) dbpedia-fr:Polymorphism (computer science) dbpedia-he:Polymorphism (computer science) http://hi.dbpedia.org/resource/पोलिमोर्फ़िज्म_(कंप्यूटर_विज्ञान) dbpedia-hr:Polymorphism (computer science) dbpedia-hu:Polymorphism (computer science) http://hy.dbpedia.org/resource/Պոլիմորֆիզմ_(ծրագրավորում) dbpedia-it:Polymorphism (computer science) dbpedia-ja:Polymorphism (computer science) dbpedia-ka:Polymorphism (computer science) dbpedia-ko:Polymorphism (computer science) http://lt.dbpedia.org/resource/Polimorfizmas_(programavime) http://lv.dbpedia.org/resource/Polimorfisms_(programmēšana) http://ml.dbpedia.org/resource/പോളിമോർഫിസം_(കമ്പ്യൂട്ടർ_ശാസ്ത്രം) dbpedia-nl:Polymorphism (computer science) dbpedia-pl:Polymorphism (computer science) dbpedia-pt:Polymorphism (computer science) dbpedia-ro:Polymorphism (computer science) dbpedia-ru:Polymorphism (computer science) dbpedia-sr:Polymorphism (computer science) dbpedia-sv:Polymorphism (computer science) http://ta.dbpedia.org/resource/பல்லுருத்தோற்றம்_(கணிப்பொறி_அறிவியல்) dbpedia-tr:Polymorphism (computer science) dbpedia-uk:Polymorphism (computer science) dbpedia-vi:Polymorphism (computer science) dbpedia-zh:Polymorphism (computer science) https://global.dbpedia.org/id/2z2Jg
prov:wasDerivedFrom wikipedia-en:Polymorphism_(computer_science)?oldid=1106361774&ns=0
foaf:isPrimaryTopicOf wikipedia-en:Polymorphism_(computer_science)
is dbo:wikiPageDisambiguates of dbr:Polymorphism
is dbo:wikiPageRedirects of dbr:Pure_polymorphism dbr:Reverse_polymorphism dbr:Polytypic_function dbr:Overloading_in_programming_languages dbr:Run-time_polymorphism dbr:Parametric_overloading dbr:Polymorphic_(computing) dbr:Polymorphic_function dbr:Polymorphic_typing dbr:Polymorphism_(object-oriented_programming) dbr:Polymorphism_in_object-oriented_programming dbr:Higher-rank_polymorphism dbr:Monomorphism_(computer_science) dbr:Overloading_(programming) dbr:Type_polymorphism
is dbo:wikiPageWikiLink of dbr:Programming_paradigm dbr:Prototype_pattern dbr:Pure_polymorphism dbr:Robin_Milner dbr:Scala_(programming_language) dbr:List_of_functional_programming_topics dbr:Method_(computer_programming) dbr:Method_overriding dbr:Denotational_semantics dbr:Dependent_type dbr:Alloy_(specification_language) dbr:Julia_(programming_language) dbr:Reverse_polymorphism dbr:Decorator_pattern dbr:Dependency_injection dbr:Dynamic_dispatch dbr:Information_flow_(information_theory) dbr:Smallworld dbr:Comparison_of_programming_paradigms dbr:Rust_(programming_language) dbr:SAC_programming_language dbr:Generic_function dbr:Generic_programming dbr:Narrowing_of_algebraic_value_sets dbr:Object-oriented_design dbr:Object-oriented_programming dbr:Object_(computer_science) dbr:Python_syntax_and_semantics dbr:Eiffel_(programming_language) dbr:Elixir_(programming_language) dbr:Function_overloading dbr:Name_mangling dbr:Open–closed_principle dbr:ML_(programming_language) dbr:Smalltalk dbr:Clone_(computing) dbr:Compilers:_Principles,_Techniques,_and_Tools dbr:Component-oriented_database dbr:Composition_over_inheritance dbr:Function_composition_(computer_science) dbr:Function_type dbr:Functional_(C++) dbr:Functional_design dbr:Operator_overloading dbr:Polymorphism dbr:Polytypic_function dbr:Row_polymorphism dbr:Spaghetti_code dbr:Object-Z dbr:Burroughs_large_systems dbr:C++ dbr:COBOL dbr:Ad_hoc_polymorphism dbr:Adapter_pattern dbr:TypeDB dbr:Type_punning dbr:Type_system dbr:Database_model dbr:GRASP_(object-oriented_design) dbr:ABC_(programming_language) dbr:Adaptive_grammar dbr:Agile_Automation dbr:Curry_(programming_language) dbr:Cyclone_(programming_language) dbr:Dylan_(programming_language) dbr:Extensibility dbr:Goto dbr:Type_class dbr:QuickDraw dbr:Reference_(computer_science) dbr:Haskell dbr:Hindley–Milner_type_system dbr:Covariance_and_contravariance_(computer_science) dbr:AP_Computer_Science_A dbr:Abstraction_(computer_science) dbr:Abstraction_principle_(computer_programming) dbr:SystemVerilog dbr:Code_bloat dbr:Code_refactoring dbr:Hooking dbr:Burroughs_B6x00-7x00_instruction_set dbr:Software_construction dbr:IP_Pascal dbr:Mercury_(programming_language) dbr:Oberon-2 dbr:Object–relational_impedance_mismatch dbr:Name_binding dbr:Magik_(programming_language) dbr:Type_safety dbr:Qsort dbr:Skeleton_(computer_programming) dbr:Union_type dbr:Virtual_function dbr:Void_type dbr:Type_inference dbr:Overloading_in_programming_languages dbr:F-logic dbr:Facade_pattern dbr:Factory_(object-oriented_programming) dbr:Object-based_language dbr:Run-time_type_information dbr:Subtyping dbr:First-class_function dbr:XBase++ dbr:Variadic_function dbr:Run-time_polymorphism dbr:Parametric_overloading dbr:Polymorphic_(computing) dbr:Polymorphic_function dbr:Polymorphic_typing dbr:Polymorphism_(object-oriented_programming) dbr:Polymorphism_in_object-oriented_programming dbr:Higher-rank_polymorphism dbr:Monomorphism_(computer_science) dbr:Overloading_(programming) dbr:Type_polymorphism
is dbp:typing of dbr:ABC_(programming_language) dbr:Mercury_(programming_language)
is rdfs:seeAlso of dbr:C++
is owl:differentFrom of dbr:Polymorphic_code
is foaf:primaryTopic of wikipedia-en:Polymorphism_(computer_science)