关于Decorator pattern 的有关问题

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

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

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