抽象型の種類とは? わかりやすく解説

抽象型の種類

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

抽象型」の記事における「抽象型の種類」の解説

抽象クラス実装継承と型継承混合オブジェクト指向言語における抽象クラスとは、abstract明示的に宣言されクラスか、抽象メソッド(メソッドシグネチャの宣言のみで、実際コード実装されていないメソッド)を含むクラスである。通常のクラス異なりインスタンス化できない実装多重継承には技術的問題があるため、多くオブジェクト指向言語では、直接には単一基底クラスしか継承できない複数基底から成る派生型の定義 (subtyping) をサポートするため、多重継承を「実装継承ではなく「型継承」に限定する目的で、抽象クラスとは別の純粋な抽象型インタフェース)を定義する機構備えた言語もある。 インタフェース純粋な継承Javaなどにはインタフェースがある。Javaインタフェースメソッドシグネチャ定数を持つことができるが、メソッド実装変数フィールド)を持つことはできないJavaクラス複数インタフェース実装 (implement) できる。インタフェース抽象メンバーのみを含む抽象クラス似ているが、多重継承できる点が異なる。 Java 8やC# 8のように、言語仕様改訂によりインタフェース静的メソッド定義したり、デフォルト実装提供したりすることもできるようになったケースもある。 Javaにおける抽象クラスは、インタフェース実装し、いくつかのメソッドシグネチャ定義していることもあるが、一方でキーワード abstract により抽象化されたままのメソッド持っているクラス実装すると宣言したインタフェースすべてのメソッド実装提供してない場合、そのクラスabstractとして宣言されなければならないC#では、クラス実装すると宣言したインタフェースすべてのメソッド実装提供する必要があるプロトコル純粋な継承Objective-CSwiftにはプロトコルがある。プロトコルメソッドプロパティ宣言を持つことができるが、それらの実装変数(状態)を持つことはできないObjective-Cクラスや、Swiftクラス・構造体列挙型複数プロトコル採用 (adopt) できる。 Objective-CSwiftプロトコルでは、インスタンスメンバーだけでなく、クラスメンバー(静的メンバー)の宣言を持つこともできるプロトコル採用する型は、それらの実装提供しなければならないプロトコルメンバーにはrequiredoptional種別があり、required実装必須だが、optional実装任意である。 Swift 2.0では、プロトコル拡張 (protocol extension) により、既存プロトコルメソッド実装やcomputedプロパティ実装追加することができるようになったプロトコル拡張により、メソッドプロパティデフォルト実装提供するともできるSwiftの「拡張」はObjective-Cの「カテゴリ」に似た言語機能であり、既存の型に対して変更加えことなく機能追加することができる。ただし、プロトコル自身依然として実装や状態を持つことはできないトレイトMix-inでの機能トレイト抽象型に当たるのかは諸説分かれるトレイト構造的型付け英語版)に準拠しており、その本質は、クラス機能注入するためのメソッド集合体だからである。これをRubyモジュール呼びRakuロール呼んでいる。トレイトSmalltalk処理系由来であり、Mix-in作法ヒントになっていた。[要出典] 多重継承前提トレイトは、主に関数型取り入れたオブジェクト指向言語様々に解釈されるようになり、その中にはインタフェースとの類似形もあったので、これが抽象型見なされる一因になっている。[要出典] 型クラスアドホック多相由来のジェネリック・サブタイピング) 元々の型クラス純粋関数言語で、関数パラメータ型に制約constraint)を付加して関数オーバーロード可能にするための手段であり、そのオーバーロードジェネリック化していた。制約付加アドホック多相解釈された。その制約を、サブタイピングされるジェネリック抽象型にしてデータクラスやレコード型構造体継承できるようにしたものが、オブジェクト指向言語言われる型クラスになっている。[要出典]

※この「抽象型の種類」の解説は、「抽象型」の解説の一部です。
「抽象型の種類」を含む「抽象型」の記事については、「抽象型」の概要を参照ください。

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



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

辞書ショートカット

すべての辞書の索引

「抽象型の種類」の関連用語

1
10% |||||

抽象型の種類のお隣キーワード
検索ランキング

   

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



抽象型の種類のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの抽象型 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS