サブクラス (計算機科学)
(拡張クラス から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/10/09 16:41 UTC 版)
この記事には複数の問題があります。改善やノートページでの議論にご協力ください。
|
オブジェクト指向プログラミングにおいてサブクラス (英: subclass) とは、上位階層に位置するクラス(スーパークラス)のいくつかのプロパティ(特性)を継承する下位クラスのことである。
プログラマは普通、そのクラスをスーパークラスの「一種」であるものとして、例えば「マンクスは猫の一種である」または「正方形は長方形の一種である」などとして、サブクラスのことを考える。
- 猫には毛が生えており、四本の脚と尻尾がある
- マンクス猫は尻尾を持たないが、上記にあるほか全ての特徴を持っている
- 長方形は長さがwとhの四つの辺を持つ。
- 正方形は長方形の特徴すべてを持ち、加えて w = h である
このように、サブクラスはスーパークラスのより具体的な種類となる。サブクラスは、たとえ数種の猫は尻尾を持たなくても、猫の状態はすべての猫について一般的に当てはまることに関しての事実となる。またすべての長方形は四つの辺を持つが、正方形はすべての辺の長さが同一であるというより限られた特徴を持つ。
サブクラス-スーパークラス間の関係を、クラス-インスタンス間の関係と混同しないこと。「猫のインスタンス」は「ある特定の猫」の実体を参照する。ここで述べているマンクス猫は依然としてクラス(設計図)である。つまり、マンクス猫の多くのインスタンスが存在しうる。もし特定の猫(猫クラスのインスタンス)が偶然狐によって食いちぎられた尻尾を持っていたとしても、猫クラスは変わらない。変わるのはその特定の猫だけである。
サブクラスとスーパークラスはしばしば、C++開発者ビャーネ・ストロヴストルップによって作られた造語として、それぞれ派生 (derived) クラス、基底 (base) クラスと呼ばれる。彼は伝統的命名法よりもより直感でこれらの造語を見いだした[1]。
語源
サブクラスは集合論でいうところの、部分集合 (subset) を語源に持つ。
脚注
- ^ Stroustrup, Bjarne. The Design and Evolution of C++. Addison-Wesley. Reading, Mass. 1994. ISBN 0-201-54330-3. Page 49
関連項目
拡張クラス
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2018/12/24 12:06 UTC 版)
「World Wide Adventure」の記事における「拡張クラス」の解説
Ver3.10から実装された拡張クラスにより、WWAのプログラムにユーザーの手による独自の仕様を追加できるようになった。拡張クラスを作成するには、Javaのコンパイラとプログラミングの知識が必要となる。ただし、配布されている拡張クラスを使用するだけなら、そのクラスの使い方さえ覚えれば、独自の機能を含むマップを作成できる。現在、以下の拡張クラスが配布されている。 WWAEval - 四則演算や任意の位置への画像の描画などが可能に。事実上の標準的な拡張クラス。 WWA feat AlphaScript - スクリプトによるリアルタイムな描画。
※この「拡張クラス」の解説は、「World Wide Adventure」の解説の一部です。
「拡張クラス」を含む「World Wide Adventure」の記事については、「World Wide Adventure」の概要を参照ください。
- 拡張クラスのページへのリンク