ダック・タイピングとは? わかりやすく解説

Weblio 辞書 > 固有名詞の種類 > 製品 > コンピュータ > プログラミング言語 > データ型 > ダック・タイピングの意味・解説 

ダック・タイピング

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/02/17 16:02 UTC 版)

ダック・タイピング: duck typing)とは、SmalltalkPerlPHPPythonRubyJavaScriptなどの動的型付けに対応したオブジェクト指向プログラミング言語に特徴的な、型付けのスタイル(作法)のひとつである。ダック・タイピングはポリモーフィズム(多態性)を実現する手段のひとつとして使われる[1]


注釈

  1. ^ nominalは名目的または記名的とも訳される。

出典

  1. ^ Python Duck Typing - Example” (英語). Techie Hours (2020年6月28日). 2020年7月26日閲覧。
  2. ^ a b Python Software Foundation. “Glossary — Python 3.7.1 documentation, §duck-typing”. docs.python.org. 2018年11月8日閲覧。
  3. ^ Dynamic typing vs. static typing | Oracle
  4. ^ Benjamin C. Pierce「第15章 部分型付け」『型システム入門 −プログラミング言語と型の理論−』オーム社、2013年3月26日。ISBN 978-4274069116
  5. ^ Objects and Aspects: Row Polymorphism | Neel Krishnaswami, Department of Computer Science, Carnegie Mellon University
  6. ^ 実例によるPureScript
  7. ^ OCamlで構築するモダンWeb:型付きHTML5プログラミングの実際 | 有限会社ITプランニング | 今井 敬吾
  8. ^ Benjamin C. Pierce「19.3 名前的型システムと構造的型システム」『型システム入門 −プログラミング言語と型の理論−』オーム社、2013年3月26日。ISBN 978-4274069116
  9. ^ typingは「型付け」と訳されることが多いが、subclassingは「サブクラス化」と訳されることが多い。subtypingは「部分型付け」や「サブタイプ化」としてもよいかもしれないが、本記事ではduck typingを「ダック・タイピング」とカナ表記しているのでそれに準じることにする。
  10. ^ TypeScript: Documentation - Type Compatibility
  11. ^ Python Software Foundation. “Glossary — Python 3.10.1 documentation, §abstract base class”. docs.python.org. 2021年12月19日閲覧。
  12. ^ Kernel.#puts (Ruby 3.0.0 リファレンスマニュアル)
  13. ^ dynamic 型の使用 - C# プログラミング ガイド | Microsoft Docs
  14. ^ Differences Between C++ Templates and C# Generics - C# Programming Guide | Microsoft Docs
  15. ^ Object Variable Declaration - Visual Basic | Microsoft Docs
  16. ^ Early and Late Binding - Visual Basic | Microsoft Docs
  17. ^ Java Core Reflection
  18. ^ IDispatch Interface and Accessibility - Windows applications | Microsoft Docs
  19. ^ IDispatchEx Interface | Microsoft Docs


「ダック・タイピング」の続きの解説一覧

ダックタイピング

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/30 09:44 UTC 版)

型システム」の記事における「ダックタイピング」の解説

ダックタイピングは、構造的型付け類似した型付けスタイルであり、オブジェクト対象になることが多い。例えオブジェクト特定のプロパティ/フィールド/変数所持しているか、または特定のメソッド/関数/手続き所持しているならば等価判定される。これも部分型サブタイプ視点である。この等価判定は、エラー発生のないプロパティ参照またはメソッド実行直結している。ダックタイピングの名称は、帰納法一種であるダックテスト由来している。 『もしアヒル (a duck) のように歩いてアヒルのように鳴くなら、それはおそらくアヒルだ』 さらに動的型付けに基づく動的ダックタイピングと、静的型付けに基づく静的ダックタイピングがある。特にC++のテンプレート静的ダックタイピング機能典型であり、例え関数呼び出し演算子オーバーロードした関数オブジェクト定義することで、関数ポインタ区別することなく統一的にアルゴリズム述語オブジェクトとして扱うこともできる適切な演算子オーバーロード定義することで、組み込み数値型ポインタ型と同じ記法で扱える型をユーザー定義するともできる分類には諸説あり、「ダックタイピングは実行時動的な型付けであり、構造的型付けコンパイル時の静的型付けである」とみなす者もいれば、「構造的型付けコンパイル時の静的なダックタイピングである」とみなす者もいる。

※この「ダックタイピング」の解説は、「型システム」の解説の一部です。
「ダックタイピング」を含む「型システム」の記事については、「型システム」の概要を参照ください。

ウィキペディア小見出し辞書の「ダック・タイピング」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ダック・タイピング」の関連用語

ダック・タイピングのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ダック・タイピングのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのダック・タイピング (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの型システム (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS