• 締切済み

抽象クラスについて

抽象クラスを使って派生クラスを作成していて疑問になったのですが、派生クラスで作るメンバ関数は、抽象クラスで仮想関数としてすべて定義しておくべきなのでしょうか。ご教授願います。

みんなの回答

回答No.1

すべて定義しておく必要はないです。 逆にそういうものであれば継承という仕組みの意味が薄くなる。 抽象化というのは物を概念と特徴に分けるような感じです。 例えばオセロというゲームを抽象化してみると ボードゲームというぼんやりしたものが浮かび上がります。 これが親クラスになります。 マップの配列のみを親クラスが持って それを継承したオセロクラスが白黒のコマやルールを実装します。 同じようにボードゲームで将棋を追加したい場合には ボードゲームを継承した将棋クラスが駒やルールを実装します。 まぁ例が分かりにくかったかもしれませんが 派生クラスはオリジナル性の部分を実装してください。

wave_sc
質問者

お礼

ご回答ありがとうございます。

関連するQ&A

専門家に質問してみよう