9-3 オブジェクト指向
令和5年12月修了試験 問35
オブジェクト指向におけるカプセル化を説明したものはどれか。
- ア 同じ性質をもつ複数のオブジェクトを抽象化して,整理すること
- イ 基底クラスの性質を派生クラスに受け継がせること
- ウ クラス間に共通する性質を抽出し,基底クラスを作ること
- エ データとそれを操作する手続を一つのオブジェクトにして,データと手続の詳細をオブジェクトの外部から隠蔽すること
解答 エ
【頭の準備体操】
カプセル化は,オブジェクト内のデータとそれを操作するメソッドを一体化して,外部から隠蔽すること。 ⇒ オブジェクトの独立性を高める。
※データは,属性ともいう。
※メソッドは,手続きともいう。
- ア 抽象化
- イ 継承。インヘリタンスともいう。
- ウ 汎化
- エ カプセル化(正解)
令和6年7月修了試験 問35
オブジェクト指向におけるクラスとインスタンスとの関係のうち,適切なものはどれか。
- ア インスタンスはクラスの仕様を定義したものである。
- イ クラスの定義に基づいてインスタンスが生成される。
- ウ 一つのインスタンスに対して,複数のクラスが対応する。
- エ 一つのクラスに対して,インスタンスはただ一つ存在する。
解答 イ
【頭の準備体操】
クラスは,オブジェクトの設計図・テンプレート。
インスタンスは,クラスから生成された具体的なオブジェクト。
- ア クラスはインスタンスの仕様を定義したものである。
- イ 正解
- ウ 一つのインスタンスに対して,複数のクラスが対応することはない。
- エ 一つのクラスから,複数のインスタンスを生成できる。
令和5年6月修了試験 問35
オブジェクト指向において,あるクラスの属性や機能がサブクラスで利用できることを何というか。
- ア オーバーライド
- イ カプセル化
- ウ 継承
- エ 多相性
解答 ウ
継承は,親クラスのデータやメソッドを,子クラスに引き継ぐこと。 ⇒ 子クラスには,親クラスとの差異だけを定義する。 ⇒ 変更箇所を局所化できる。
※親クラスは,スーパクラス,上位クラス,基底クラスともいう。
※子クラスは,サブクラス,下位クラス,派生クラスともいう。
- ア オーバーライドは,親クラスで定義されたメソッドを子クラスで再定義すること。
- イ カプセル化は,オブジェクト内のデータとメソッドを一体化して,外部から隠蔽すること。
- ウ 正解
- エ 親クラスで定義されたメソッドを子クラスで再定義することで,同じメソッド名でも異なる動作ができる。ポリモフィズム,多態性ともいう。⇒ ポリモフィズムは,主にメソッドオーバライドで実現される。
令和6年1月修了試験 問35
オブジェクト指向の特徴はどれか。
- ア オブジェクト指向では,抽象化の対象となるオブジェクトに対する操作をあらかじめ指定しなければならない。
- イ カプセル化によって,オブジェクト間の相互依存性を高めることができる。
- ウ クラスの変更を行う場合には,そのクラスの上位にあるすべてのクラスの変更が必要となる。
- エ 継承という概念によって,モデルの拡張や変更の際に変更箇所を局所化できる。
解答 エ
継承は,親クラスのデータやメソッドを,子クラスに引き継ぐこと。 ⇒ 子クラスには,親クラスとの差異だけを定義する。 ⇒ 変更箇所を局所化できる。
※親クラスは,スーパクラス,上位クラス,基底クラスともいう。
※子クラスは,サブクラス,下位クラス,派生クラスともいう。
- ア 抽象クラスでは,サブクラスに必要なメソッドを定義するだけで,メソッドの中身はサブクラスに記述する。
- イ カプセル化によって,オブジェクトの独立性を高めることができる。
- ウ 子クラスで新たに定義したデータやメソッドは,親クラスには影響を与えない。
- エ 正解
令和5年7月修了試験 問7
オブジェクト指向プログラミングにおける,多相性を実現するためのオーバーライドの説明はどれか。
- ア オブジェクト内の詳細な仕様や構造を外部から隠蔽すること
- イ スーパークラスで定義されたメソッドをサブクラスで再定義すること
- ウ 同一クラス内に,メソッド名が同一で,引数の型,個数,並び順が異なる複数のメソッドを定義すること
- エ 複数のクラスの共通する性質をまとめて,抽象化したクラスを作ること
解答 イ
オーバーライドは,親クラスで定義されたメソッドを子クラスで再定義すること。
- ア カプセル化
- イ 正解
- ウ オーバロード。同一クラス内に,同じメソッド名で,異なる引数の組合せで複数定義すること。
- エ 汎化