比如Swing组件是已经被封装好了,不可能让它去实现一个Observer接口。这使有没有其他的办法。我看网上有人说用代理模式?怎样解决?
代理就是给原来的类扩展机能
1你做一个代理类,这个类和你目前的类具有相同的接口
2-然后在这个代理类中定义一个子对象就是你当前类的对象
3--然后你写出接口的方法
自己增加扩展机能,然后调用这个字对象的方法(也是该接口的)
太一般化了,针对你的问题就是
比如以JButton为例,做一个 JButtonProxy的类,它组合一个JButton对象,JButtonProxy的就是这个JButton得代理类
这个类和JButton有相同的接口或者抽象父类
然后你再给这个类增加实现的接口
凡是和Jbutton一样的方法实现的时候,都调用这个Jbutton对象的方法。
如果你想增加什么新的功能,只要在Jbutton对象的方法调用前后增加即可