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

クラス図

C6_1

クラス図の説明

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

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

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

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

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

Javaでは実行時に引数の型の違いによるメソッドの呼び出しをサポートしています。

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