我想教自己設計模式。我正在閱讀關於Decorator
的模式,並且有一件事情我無法得到。這裏有一個例子在維基百科上找到: 比方說,我想實現一個既可以水平和垂直滾動窗口,我這樣做: Window win=new Window(); win=new HorizontalScrollBarDecorator(win); win=new VerticalScrollBarDecorator(win);
裝飾者如何實現新的行爲?
由於win
是Window
類型的引用,我可以調用沒有drawHorizontalScrollBar()
也不drawVerticalScrollBar()
(除了具體裝飾器本身的代碼),當然,改變引用類型是沒有意義的。 那麼,我怎樣才能「添加新的行爲」(I.E.實施新的方法)與裝飾?
隨時確認/添加新的細節/編輯答案,這是一種瘋狂的猜測 – 2014-09-04 09:18:54