「クラスベース」の版間の差分

削除された内容 追加された内容
編集の要約なし
編集の要約なし
3行目:
{{プログラミング・パラダイム}}
 
'''クラスベース''' ({{lang-en-short|''class-based''}}) は、[[オブジェクト指向プログラミング]](OOP)のスタイルのひとつであり、[[クラス (コンピュータ)|'''クラス''']](''class'')の仕組みを根幹にした手法を指す。クラスベースはオブジェクト指向言語の間で最も広く採用されている主流のスタイルである。「[[C++]]」「[[Eiffel]]」「[[Object Pascal]]」「[[Java]]」「[[Delphi]]」「[[Ada|Ada 95]]」「[[OCaml]]」「[[COBOL|Object COBOL]]」「[[Visual Basic .NET]]」「[[C Sharp|C#]]」「[[Scala]]」「[[Groovy|Grooby]]」「[[D言語|D]]」「[[Kotlin]]」「[[TypeScript]]」「[[Swift (プログラミング言語)|Swift]]」などといった歴代の人気言語に支持されている。[[クラス (コンピュータ)|クラス]]は[[インスタンス]]のひな型であり、クラスとインスタンスの双方をまとめて非常に曖昧な意味合いで[[オブジェクト (プログラミング)|オブジェクト]]という用語が使われる。
 
[[クラス (コンピュータ)|'''クラス''']](''class'')とは[[変数 (プログラミング)|変数]]と[[関数 (プログラミング)|関数]]をまとめたプログラム概念であり、[[カプセル化]]、[[継承 (プログラミング)|継承]]、[[多態性]]、[[コンストラクタ]]、[[デストラクタ]]の機能を備えていることで同様の[[モジュール]]と区別される。クラスは[[インスタンス]]のひな型であり、インスタンスはクラスを量化してメモリに展開したものである。クラスベースでは、クラスとインスタンスの双方をまとめて非常に曖昧な意味合いで[[オブジェクト (プログラミング)|オブジェクト]]という用語が使われる。クラスの登場はオブジェクト指向が誕生する以前の1967年公開の言語 [[Simula|Simula 67]]にまで遡れる。1974年に提唱された[[抽象データ型]]の代表的実装形態としても解釈されるようになり、オブジェクト指向が知名度を得た1980年代に言わば後付けでその原点に位置付けられるようになった。
[[クラス (コンピュータ)|クラス]]は[[オブジェクト指向プログラミング|OOP]]という用語が誕生する以前に登場した機能であり、1967年公開の言語「[[Simula|Simula 67]]」が初出である。クラスは1974年に提唱された[[抽象データ型]]の代表的実装形態として解釈されるようにもなっている。OOPの原点は1972年公開の言語「[[Smalltalk]]」で提唱された[[メッセージング]](''messaging'')であるが、それよりもクラスの方に技術的関心が集まったことでOOP=クラスとインスタンスという図式が世間に広まり、クラスは後付けでOOPの源流に位置付けられた。クラスベースという用語が生まれた背景には、メタオブジェクトの仕組みを根幹にしたOOPのもう一つのスタイルが1990年前後に登場したという理由がある。[[プロトタイプベース]]と名付けられたその手法と区別するために、クラスベースという用語もまた世間に認識されるようになった。
 
== 概要 ==
15行目:
<!--<ref>http://d.hatena.ne.jp/sumim/20040525/p1 を参照</ref>-->
<!-- 信頼性が担保されない個人のブログ記事は、単体では有効な出典になりえない。[[Wikipedia:信頼できる情報源]] -->
== 来歴 ==
[[クラス (コンピュータ)|クラス]]は[[オブジェクト指向プログラミング|OOP]]という用語が誕生する以前に登場した機能であり、1967年公開の言語「[[Simula|Simula 67]]」が初出である。クラスは1974年に提唱された[[抽象データ型]]の代表的実装形態として解釈されるようにもなっている。OOPの原点は1972年公開の言語「[[Smalltalk]]」で提唱された[[メッセージング]](''messaging'')であるが、それよりもクラスの方に技術的関心が集まったことでOOP=クラスとインスタンスという図式が世間に広まり、クラスは後付けでOOPの源流に位置付けられた。クラスベースという用語が生まれた背景には、メタオブジェクトの仕組みを根幹にしたOOPのもう一つのスタイルが1990年前後に登場したという理由がある。[[プロトタイプベース]]と名付けられたその手法と区別するために、クラスベースという用語もまた世間に認識されるようになった。
 
== メタクラス ==
 
== 脚注 ==
{{Reflist}}
 
== 出典 ==
{{プログラミング言語の関連項目}}
{{Computer-stub}}