「クラスベース」の版間の差分
削除された内容 追加された内容
編集の要約なし |
編集の要約なし |
||
3行目:
{{プログラミング・パラダイム}}
'''クラスベース''' ({{lang-en-short|''class-based''}}) は、[[オブジェクト指向プログラミング]]
[[クラス (コンピュータ)|'''クラス''']](''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}}
|