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


只有注册用户登录后才能发表评论。


网站导航: