■
オブジェクト指向でシステムを開発する場合,カプセル化の効果として適切な
ものはどれか。ア オブジェクトの内部データ構造やメソッドの実装を変更しても,その影響
をほかのオブジェクトに及ぼしにくい。イ 親クラスの属性を子クラスが利用できるので,親クラスの属性を子クラス
の属性の定義に利用できる。ウ 既存の型に加えてユーザ定義型を追加できるので,問題領域に合わせてプ
ログラムの仕様を拡張できる。エ 同一メッセージを送っても,受け手のオブジェクトによって,それぞれが
異なる動作をするので,メッセージを受け取るオブジェクトの種類が増えて
も,メッセージを送るオブジェクトには影響がない。
■解答■
テクニカルエンジニア(ネットワーク)平成14年問11
ア オブジェクトの内部データ構造やメソッドの実装を変更しても,その影響
をほかのオブジェクトに及ぼしにくい。
> カプセル化 【encapsulation】
> オブジェクト指向プログラミングが持つ特徴の一つ。データとそ
> れを操作する手続きを一体化して「オブジェクト」として定義し、
> オブジェクト内の細かい仕様や構造を外部から隠蔽すること。外部
> からは公開された手続きを利用することでしかデータを操作できな
> いようにすることで、個々のオブジェクトの独立性が高まる。
> カプセル化を進めることによりオブジェクト内部の仕様変更が外部
> に影響しなくなり、ソフトウェアの保守性や開発効率が高まり、プ
> ログラムの部分的な再利用が容易になる。
> http://e-words.jp/w/E382ABE38397E382BBE383ABE58C96.html
>
> ア.○正解
> イ.×継承の説明
> ウ.×クラスの説明
> エ.×ポリモルフィズム(多様性)の説明
どうもありがとうございました。
> 「オブジェクト指向でなぜつくるのか」p.82にこちらの言葉がありました.
>
> クラスは「まとめて,隠して,たくさん作る」仕組み
> 1) サブルーチンと変数を「まとめる」
> 2) クラスの内部だけで使う変数やサブルーチンを「隠す」
> 3) 1つのクラスからインスタンスを「たくさん作る」
>
> この中の,隠すについて,同書p.90に以下のように書かれていました.
>
> クラスに定義した変数とメソッド(サブルーチン)を,他のクラスから隠すことが
> できる.
> これにより,プログラムの保守性悪化の元凶となるグローバル変数を使わずにプ
> ログラムを書くことが可能になる.どうもありがとうございました。
- -