Posted on 2008-12-28 10:40
bluoy 阅读(183)
评论(0) 编辑 收藏
虽然java没有提供函数指针的操作,而是必须通过对象来曲线救国。
不过延伸一下这个思路,其实也未必不是件好事。从某种意义上来说,整个java系统,或者对象系统,其实就是不计其数的钩子组成的系统。因为,参数传递的过程中完全依赖着对象,一种行为和数据的结合体。这里,关键词是参数传递和对象的行为,当然离不开多态。
改变既有代码的行为步骤:
1. 派生参数类得到新的子类。
2. 在子类中覆写(overwrite)父类既有方法。
3. 将子类的实例作为参数传递。
这样,就得到了改变父类行为的目的。
对于既有框架自作主张的封装,阻碍自己的目的的时候,这个做法往往能独辟蹊径。