6.1 クラス階層によるインタフェースの分離

クラス図

C6_1

クラス図の説明

クラス階層によるインタフェースの分離

クラス図を見てください。

ライブラリと実クラスのクラス階層に

VisitorインタフェースとUserVisitorインタフェースが追加されています。Visitorとは訪問者という意味になります。

UserVisitorのメソッドを見てください。同じ名前のメソッドが複数宣言されています。引数の型が違うだけです。実はこのような宣言ができます。

Java言語では実行時に引数の型の違いによるメソッドの呼び出しをサポートしています。この事をメソッドの「オーバーロード」と言います。

インタフェースが分離されている理由はVisitorインタフェースから実クラスに依存関係を持たないためです。