「サブクラス (計算機科学)」の版間の差分
削除された内容 追加された内容
m ボット: 言語間リンク 3 件をウィキデータ上の d:q1366323 に転記 |
独立記事としての意義が感じられないため、タグを付加。 |
||
1行目:
{{複数の問題
[[オブジェクト指向プログラミング]]において '''サブクラス'''とはその[[スーパークラス (計算機科学)|スーパークラス]]のいくつかのプロパティを[[継承 (プログラミング)|継承]]する[[クラス (コンピュータ)|クラス]]のことである。▼
|正確性=2017年10月
|独自研究=2017年10月
|特筆性=2017年10月
}}
<!-- 翻訳元の記事":en:Subclass (computer science)"は":en:Inheritance (object-oriented programming)"に統合されたらしい。リダイレクトになっている。 -->
▲[[オブジェクト指向プログラミング]]において
プログラマは普通、そのクラスをスーパークラスの「一種」であるものとして、例えば「[[マンクス]]は猫の一種である」または「正方形は長方形の一種である」などとして、サブクラスのことを考える。
* '''猫'''には毛が生えており、四本の脚と尻尾がある
** '''マンクス猫'''は尻尾を持たないが、上記にあるほか全ての特徴を持っている<!-- HACK: 継承関係の説明として、たとえが悪すぎるように思われる。かえって混乱を招く。尻尾の有無を示すboolプロパティの既定値が変わる、と説明するならば話は別だが…… -->
* '''長方形'''は長さが''w''と''h''の四つの辺を持つ。
** '''正方形'''は長方形の特徴すべてを持ち、加えて ''w'' = ''h'' である<!-- HACK: 楕円と円の関係もそうだが、実用的な観点からいうと、これもたとえとして微妙。 -->
このように、サブクラスはスーパークラスのより具体的な種類となる。サブクラスは、たとえ数種の猫は尻尾を持たなくても、猫の状態はすべての猫について一般的に当てはまることに関しての事実となる。またすべての長方形は四つの辺を持つが、正方形はすべての辺の長さが同一であるというより限られた特徴を持つ。
サブクラス-スーパークラス間の関係
サブクラスとスーパークラスはしばしば、[[C++]]開発者[[ビャーネ・ストロヴストルップ]]によって作られた造語として、それぞれ'''派生''' (''{{lang|en|derived}}'') クラス、'''基底''' (''{{lang|en|base}}'') クラスと呼ばれる。彼は伝統的命名法よりもより直感でこれらの造語を見いだした
== 語源 ==
サブクラスは[[集合論]]でいうところの、[[部分集合]] (subset) を語源に持つ。
== 脚注 ==
21 ⟶ 27行目:
== 関連項目 ==
* [[オブジェクト指向プログラミング]]
* [[クラス (コンピュータ)]]
** [[クラス (コンピュータ)#サブクラスとスーパークラス]]
* [[スーパークラス (計算機科学)]]
* [[派生型]]
* [[継承 (プログラミング)
* [[実装継承]]
* [[継承セマンティクス]]
* [[仮想継承]]
* [[部分集合]]
[[Category:オブジェクト指向|さふくらす]]
|