polymorphism
「polymorphism」の意味・「polymorphism」とは
「polymorphism」とは、英語で「多形性」という意味である。情報科学の分野では、同一のインターフェースで異なる動作をする機能のことを指す。また、生物学の分野では、同種の生物が異なる形質を示す現象を指す。例えば、情報科学の場合、同じ名前のメソッドでも引数の型や数によって異なる処理を行うことがある。生物学の場合、同じ種の蝶でも色や模様が異なることがある。「polymorphism」の発音・読み方
「polymorphism」の発音は、IPA表記では/pɒlɪ'mɔːfɪz(ə)m/である。IPAのカタカナ読みでは「ポリモーフィズム」となる。日本人が発音するカタカナ英語では「ポリモーフィズム」と読む。「polymorphism」の定義を英語で解説
Polymorphism is a term in English that refers to the ability of an object to take on many forms. In computer science, it refers to the ability of a variable, function, or object to take on multiple forms. In biology, it refers to the occurrence of different forms or types in the same population of a species.「polymorphism」の類語
「polymorphism」の類語としては、「multiformity」や「variability」がある。これらの単語も同様に、多様性や変異性を表す英語である。「polymorphism」に関連する用語・表現
「polymorphism」に関連する用語としては、「inheritance」(継承)や「encapsulation」(カプセル化)がある。これらはプログラミングにおけるオブジェクト指向の三大要素であり、「polymorphism」もその一つである。また、生物学の分野では、「genetic variation」(遺伝的変異)や「phenotypic variation」(表現型変異)が関連する。「polymorphism」の例文
以下に「polymorphism」を用いた例文を10個示す。 1. Polymorphism is one of the three main principles of object-oriented programming.(多形性はオブジェクト指向プログラミングの三大原則の一つである。) 2. The concept of polymorphism can be a bit difficult to understand for beginners.(多形性の概念は初心者にとって少し理解しにくいかもしれない。) 3. Polymorphism allows objects to be treated as instances of their superclass.(多形性により、オブジェクトはそのスーパークラスのインスタンスとして扱うことができる。) 4. In biology, polymorphism refers to the occurrence of different forms within the same population of a species.(生物学において、多形性は同一種の個体群内で異なる形態が存在する現象を指す。) 5. Genetic polymorphism is a common phenomenon in nature.(遺伝的多形性は自然界でよく見られる現象である。) 6. Polymorphism in programming can increase the flexibility and maintainability of the code.(プログラミングにおける多形性は、コードの柔軟性と保守性を高めることができる。) 7. The butterfly exhibits a striking example of polymorphism with its different color patterns.(その蝶は異なる色の模様で顕著な多形性を示している。) 8. Polymorphism is an important concept in both computer science and biology.(多形性は、コンピュータ科学と生物学の両方で重要な概念である。) 9. Understanding polymorphism can greatly improve your programming skills.(多形性を理解することは、プログラミングスキルを大いに向上させることができる。) 10. The study of polymorphism can provide insights into evolutionary processes.(多形性の研究は、進化過程についての洞察を提供することができる。)ポリモーフィズム
【英】polymorphism
ポリモーフィズムとは、「メッセージの送信側とメッセージの受信側が動的に決まる」というオブジェクト指向プログラミング言語が持つ性質のことである。
ポリモーフィズムは、オブジェクト指向設計の原則である「機能と実装の分離」を実現するために欠かせない機能で、オブジェクトを呼び出す側が意識しなくても実行時の条件に合った適切なメソッドが実行できる。ポリモーフィズムは、継承を利用しているため、オーバーライドと同様な機能に見えるが、ポリモーフィズムの場合は機能が置き換わるのではなく、同一名称メソッドであるが振る舞いは異なるメソッドとして働く。
なお、ポリモーフィズムの実現には、動的バインディングという機能がプログラミング言語に備わっている必要がある。SmalltalkやJavaなどは動的バインディングであるが、C++は静的バインディングである。そのため、C++では仮想関数を導入して実行時までバインディングを遅らせることでポリモーフィズムを実現している。
ポリモーフィズム
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/12/27 03:45 UTC 版)
ポリモーフィズム(英: polymorphism)とは、それぞれ異なる型に一元アクセスできる共通接点の提供[1]、またはそれぞれ異なる型の多重定義を一括表現できる共通記号の提供[2]を目的にした、型理論またはプログラミング言語理論の概念および実装である。この用語は、有機組織および生物の種は様々な形態と段階を持つという生物学の概念からの借用語である[3]。多態性、多相性と邦訳されることが多い。
- ^ polytypismは他の分野で「多型性」と邦訳されることがある[5]。
- ^ ポリタイピックプログラミング(polytypic programming)はジェネリックプログラミングと同一視されることがある。Polytypic Programming in Haskell | SpringerLink
- ^ Bjarne Stroustrup (2007年2月19日). “Bjarne Stroustrup's C++ Glossary”. 2017年3月8日閲覧。 “polymorphism – providing a single interface to entities of different types.”
- ^ Cardelli, Luca; Wegner, Peter (December 1985). “On understanding types, data abstraction, and polymorphism”. ACM Computing Surveys 17 (4): 471–523. doi:10.1145/6041.6042 .: "Polymorphic types are types whose operations are applicable to values of more than one type."
- ^ “Polymorphism”. The Java™ Tutorials: Learning the Java Language: Interfaces and Inheritance. Oracle. 2021年9月8日閲覧。
- ^ Conallen, J.; Engle, M.; Houston, K.; Maksimchuk, R.; Young, B.; Booch, G. (2007). Object-Oriented Analysis and Design with Applications (3rd ed.). Pearson Education. ISBN 9780132797443
- ^ 重和, 樋口「光の非視覚的作用と概日リズム : 生理的多型性へのアプローチ(生理人類学のキーワード"生理的多型性"の本質に迫る)」『日本生理人類学会誌』第18巻第1号、2013年、39–43頁、doi:10.20718/jjpa.18.1_39。
- ^ C. Strachey – Fundamental Concepts in Programming Languages http://www.itu.dk/courses/BPRD/E2009/fundamental-1967.pdf
- ^ a b Cardelli, Luca; Wegner, Peter (December 1985). “On understanding types, data abstraction, and polymorphism”. ACM Computing Surveys (New York, NY, USA: ACM) 17 (4): 471–523. doi:10.1145/6041.6042. ISSN 0360-0300 .
- ^ Allen B. Tucker (28 June 2004). Computer Science Handbook, Second Edition. Taylor & Francis. pp. 91–. ISBN 978-1-58488-360-9
- ^ Pierce, B. C. 2002 Types and Programming Languages. MIT Press.
- ^ Objects and Aspects: Row Polymorphism | Neel Krishnaswami, Department of Computer Science, Carnegie Mellon University
- ^ 実例によるPureScript
- ^ OCamlで構築するモダンWeb:型付きHTML5プログラミングの実際 | 有限会社ITプランニング | 今井 敬吾
- 1 ポリモーフィズムとは
- 2 ポリモーフィズムの概要
- 3 歴史
- 4 単態性と多態性
- 5 関連項目
ポリモーフィズム (polymorphism)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/05/02 14:27 UTC 版)
「クラス (コンピュータ)」の記事における「ポリモーフィズム (polymorphism)」の解説
詳細は「ポリモーフィズム」を参照 クラスを継承する際に、スーパークラスの振る舞いをサブクラスの振る舞いで上書きする(置き換える)ことをオーバーライドという。あるサブクラスのインスタンスがオーバーライドされた振る舞いを持つ場合、インスタンスの具体的な内容(クラス)が分からなくても、インスタンスに対してその振る舞いを実行するよう指示すれば、見かけがスーパークラスと同じ(すなわちインターフェイスが同じ)でありながら、インスタンスの実際のクラスに応じて実行される振る舞い(処理内容)を変えることができる。このようにして、見かけが一緒なのに動作が変わることをポリモーフィズム(ポリモルフィズム)/多様性/多態性/多相性などという。
※この「ポリモーフィズム (polymorphism)」の解説は、「クラス (コンピュータ)」の解説の一部です。
「ポリモーフィズム (polymorphism)」を含む「クラス (コンピュータ)」の記事については、「クラス (コンピュータ)」の概要を参照ください。
- ポリモーフィズムのページへのリンク