応用情報技術者試験 |
2012年度 = 平成24年度・春期 |
午前 |
問45 |
オブジェクト指向における抽象クラスで、できないことはどれか。
ア インスタンスを生成すること
イ サブクラスをもつこと
ウ スーパクラスをもつこと
エ 属性をもつこと
ア
抽象クラス(abstract class)は、抽象メソッド(純粋仮想関数)をもつクラスであり、インスタンス化(具象化)できないという特徴があります。サブクラスにおいて抽象メソッドがオーバライドされることを前提としたクラスであり、その目的はサブクラスとのあいだに多相性をもたせることです。
ア 抽象クラスのインスタンスを生成することはできません。
イ 抽象クラスはサブクラスをもつことができます(抽象クラスのインスタンス化はできませんが、抽象メソッドをオーバライドしたサブクラスはインスタンス化できます)。
ウ 抽象クラスはスーパークラスをもつことができます。なお、スーパークラスは、抽象クラスであっても、非抽象クラスであっても構わないことになっています。
エ 抽象クラスは属性をもつことができます。