锁定老帖子 主题:有关超类型和子类型编程的设计模式问题
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-09-05
rainerWJY 写道 collection里面一般来说都会放一类对象咯。。。
一类对象一般的都会有一个或几个可以用相同的名字来表述的方法。否则一般来说是不会被放在一个collection中的。 java还是更应该选择面向接口编程。这样下层实现方式更多样,抽象和概括的能力也更好一些。不需要去关注过多的实现细节(如果细节和概括的东西都放在一起,那么就是方法爆炸了,很难搞的非常清楚) 想办法用公共的方法和属性来搞事就行了。 不想用instanceof那就搞一个getType. 不过一般来说都没有这个需要吧。 换句话说,如果你的不同子类的方法很不同,那么他们为什么会被规范为同一个父类的实现呢? 我现在使用的是一个人开源的工具包,里面的代码就是这样实现的。 至于为什么规范称为同一个父类,我想是为了更方便的解析XmlSchema,只能这样做的。 |
|
返回顶楼 | |
发表时间:2008-09-05
zhangcheng 写道 我现在使用的是一个人开源的工具包,里面的代码就是这样实现的。 至于为什么规范称为同一个父类,我想是为了更方便的解析XmlSchema,只能这样做的。 场景不同 方式也不同,你可以贴下他的思路。如果你就是这个场景,一个collection里面有很多object 我想知道他内部是什么针对性的搞事。那肯定是instanceof最简单直接。。 |
|
返回顶楼 | |
发表时间:2008-12-09
如果楼主是这样种意思的话: 在客户端得到一个超类的实例,然后通过判断得到该实例具体的子类型,然后调用该子类例相关的属性或方法。 则:建义楼主,看看类反射 |
|
返回顶楼 | |