5.7 Teacher クラス

プログラム

C5_7

プログラムの説明

Teacherクラス

Teacherクラスのクラス図とプログラムを見てください。

クラス図とプログラムから状態が無いことがわかります。状態は抽象クラスに記述されています。

コンストラクタの記述には注意が必要になります。

superはスーパークラスを指しています。この場合には継承元である抽象クラスになります。

Teacherクラスのコンストラクタを見てください。super(id, name)はスーパークラスのコンストラクタを呼び出しています。

この他に抽象メソッドの実装を記述する必要があります。

Teacherクラスのプログラムには抽象クラスの公開されているメソッドのみ使用されています(隠されている状態を直接使用していません)。このような拡張はホワイトバックス拡張と呼ばれます。

「不必要な複雑さ」

「不必要な繰り返し」を除去するためにソースコードを複雑にしてしまう場合があります。つまり、「不必要な複雑さ」を招いてしまうことがあります。

では、何処まで「不必要な繰り返し」を排除するべきなのでしょうか。

これに対する解答は「不明確さ」を招かない程度と考えると良いでしょう。つまり、バランスが大切ということになります。