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

削除された内容 追加された内容
rvv
タグ: サイズの大幅な増減
Sycgln (会話 | 投稿記録)
編集の要約なし
1行目:
{{出典の明記|date=2015年12月}}
'''クラスベース''' ({{lang-en-short|class-based}}) とは[[オブジェクト指向]]のスタイルのひとつで、まず「鋳型」あるいは「設計図」となる[[クラス (コンピュータ)|クラス]]があり、その鋳型によってオブジェクトの実体である[[インスタンス]]を生成する、というスタイルである。クラスベースの[[システム]]や[[プログラミング言語]]では、併せて[[カプセル化]]や[[継承 (プログラミング)|継承]]のメカニズムをサポートすることが多い。代表的なプログラミング言語は[[C++]]<ref>C++はマルチパラダイム言語であり、[[手続き型プログラミング]]言語の性質も持つが、ここではプロトタイプベースの対義語としての比較説明をするため、クラスベースの[[オブジェクト指向プログラミング]]言語に分類するものとする。</ref>や[[Java]]など。
 
'''クラスベースのほか''' ({{lang-en-short|Class-based}}) は[[オブジェクト指向における「同類プログラミング]](OOP)スタイルのひとつであり、[[オブジェクト (プログラミング)|オブジェクト]]の生成同じような振舞[[クラス (コンピュータ)|クラス]]を用るスタイルさせ指していためのメカニズム」の。OOPで最うひとつのよく用いられている標準的スタイルである。それして、対比されるスタイルに[[プロトタイプベース]]があるが、こちらは少数派である。プロトタイプクラスベースOOPで[[オブジェクト (プログラミング言語の代表例としては[[JavaScript)|オブジェクト]]は、総じて[[Luaクラス (コンピュータ)|クラス]]などがある。を実体化しだしJavaScriptの標準規格である[[ECMAScriptインスタンス]]は、バージョン6 (2015) 以降でと定義されている。クラス構文もサポートすは状態と振ようになっ舞いの構成を定め(実際には一種の[[糖衣構文|ンタクィックシュガーム|型]]的な機能であるがインスタンス=オブジェクトよう構文があ型や設計図に例えられていと、「クラス構文もには[[カプセル化]]、[[継承 (プログラミング)|継承]]、[[ポリモーフィズム]]をサポートするように」と言メカニズムが備られてかにもクラスベースになったように見えるのが普通である
 
なおオブジェト指向のタイルとしてベースOOPは、[[ビャーネ・ストロヴストルップ]]の[[C++]]流と[[アラン・ケイ]]の[[Smalltalk]]流というで二類がなされることもある。前者は由来となった[[Simula]]のクラスを強く受け継いだものであており、C++から派生した[[Java静的型付け]][[C Sharp|C#動的型付け]]などの大多数のオブジェクト指向言語に受け継が二分されている。後者C++流は[[アラン・ケイ抽象データ型]]の提唱スーパーセットを基礎にており、Smalltalk流は[[メッセージ (コンピュータ)|メッセージパッシング]]の概念にづくも礎にしている。[[静的型付け]]はプロセス実行後クラス構成内容が基本的に固定されている仕様であり、[[Objective-C動的型付け]]にも受け継はプロセス実行後のクラス構成内容の変更前提にされている仕様である。<!--<ref>http://d.hatena.ne.jp/sumim/20040525/p1 を参照</ref>-->
<!--<ref>http://d.hatena.ne.jp/sumim/20040525/p1 を参照</ref>-->
<!-- 信頼性が担保されない個人のブログ記事は、単体では有効な出典になりえない。[[Wikipedia:信頼できる情報源]] -->
 
== 脚注 ==