Decorator パターンAdvertisementクラスを拡張する
すでに存在するクラスに機能を追加する場合や、何かのフィルターを通す場合に使用する。Adapter パターンと似ているが、インタフェースを変更するのか機能を追加するのかという区別ができる。
サンプルコード既存のクラス class RectInfo{ private int width; private int height; // 幅と高さを設定 public RectInfo(int w, int h){ width = w; height = h; } // 幅を返す public int getWidth(){ return width; } // 高さを返す public int getHeight(){ return height; } } Decorator で機能を追加したプログラム class DecoratorRect{ RectInfo rInfo = new RectInfo(); public DecoratorRect(int w, int h){ super(w, h); } // 面積を返す public int getArea(){ return width * height; } }Decorator は、開発者が意識することなく使用している事が多い。 実質的には継承と同じ機能を実現することになるが、Decorator の方が結合度が低い。 Advertisement |
ショートカット・634トップページ・このカテゴリのトップページに戻る ・634ラボ サイト検索Y!ログール |