首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

关于Decorator pattern 的有关问题

2012-02-19 
关于Decorator pattern 的问题我想问一下Decorator pattern中,为什么所有的Decorator不可以直接继承最顶层

关于Decorator pattern 的问题
我想问一下Decorator pattern中,为什么所有的Decorator不可以直接继承最顶层的父类,而非要先写个抽象类继承最顶层的父类,再让decorator继承这个中间的抽象类?

打个比方:就像文件读写里面,BufferedInputStream为什么不是直接继承InputStream类,而是非要通过FilterIputStream来间接继承?

[解决办法]
Decorator pattern中应改没有这个限制吧,根据具体的情况有灵活的运用而已。可以直接继承自同一个父类。不过这个父类可以是继承结构中的任意一层,不一定要是顶层。这个根据你的具体情况来决定。
[解决办法]
没这个限制
不过这样做有好处,如果添加一个抽象类,相当于提供了一个接口,这样只要接口不变(接口一般比实现变化的少),抽象类就可以使用多态访问具体实现类了,即所说的Decorator

热点排行