《Java编程思想》之更好了解内部类的价值(一个简单的例子)

上接《Java编程思想》之为什么需要内部类?

       start()是个独立的方法,而没有包含在构造器内,因为这样就可以在时间运行以后重新启动计数器,也就是能够重复使用Event对象。例如,如果想重复一个事件,只需要简单地在action()中调用start()方法。

       Controller包含了一个用来管理并触发事件的实际控制框架。

       设计的关键在于:使变化的事物与不变的事物互相分离。“变化的事物”指的是不同的Event对象所具有的不同的行为,这可以通过不同的Event子类来变现。

       这正是内部类所要做的事情,内部类允许:

       1).用单一的类完整地实现控制框架,从而将实现的细节封装起来。内部类用来表示解决问题所不许的各种不同的action()。

       2).内部类能够很容易地访问外围类的任意成员,具有很大的灵活性。


创建GreenhouseControls对象(“命令”设计模式的一个例子):

运行结果:


以上内容整理自《Java编程思想》,若有遗漏,请您不吝指出!


posted @ 2012-01-29 19:54  我的IT技术  阅读(203)  评论(0编辑  收藏  举报