継承とは、あるクラス(A_Class)があるクラス(B_Class)の一種である場合、A_Classは
B_Classを継承していると言います。そして、A_ClassはB_CLassの
子クラス、サブクラス、派生クラスと言い、逆にB_ClassはA_Classの
親クラス、スーパークラス、基底クラスと言います。
これをC++で定義すると以下のようになります。
class B_Class{
:
:
};
class A_Class : public class B_Class
:
:
};
|
「一種である」というのは、下記の図形の例のように「楕円」や「線」や「多角形」は
「図形」の一種であり、「円」は「楕円」の一種。「直線」は「線」の一種であるし、
「三角形」や「四角形」は「多角形」の一種であるということである。
つまり、「三角形」や「四角形」は「多角形」を継承していると言い、「三角形」や「四角形」は
「多角形」の子クラス(サブクラス)であると言い、「多角形」は「三角形」や「四角形」の
親クラス(スーパークラス、基底クラス)であるという。
また、「正方形」は「菱形」と「長方形」の両方の特別な場合であり、このような
継承の仕方を多重継承という。Javaのようにオブジェクト指向言語でも多重継承をサポート
していない言語も多いが、C++では多重継承をサポートしている。しかし、あまり使われない。
継承すると、親クラスのメンバー変数、メンバー関数は、その子クラスでも使用できるようになる。
子クラスでは親クラスのメンバー関数をオーバーライドすることができるため、
子クラスで実相をより高機能化することができる。