【发布时间】:2011-12-31 10:12:14
【问题描述】:
当我想为一个简单的 WindowListener 实现一个接口时真的很烦人,但完成工作的唯一方法是实现所有方法,只留下一个没有主体的方法。看起来真的很丑而且可以避免..
在这种情况下是否有某种设计模式可以避免无主体实现?
我尝试了策略/策略模式,但最终得到了相同的无主体方法,除了更多的 OOP 方式。
【问题讨论】:
标签: java interface methods abstract
当我想为一个简单的 WindowListener 实现一个接口时真的很烦人,但完成工作的唯一方法是实现所有方法,只留下一个没有主体的方法。看起来真的很丑而且可以避免..
在这种情况下是否有某种设计模式可以避免无主体实现?
我尝试了策略/策略模式,但最终得到了相同的无主体方法,除了更多的 OOP 方式。
【问题讨论】:
标签: java interface methods abstract
使用WindowAdapter 并仅覆盖您需要的方法。更多关于这个here。
【讨论】:
在WindowListener 的API 文档中,提到了一个类WindowAdapter 来实现接口:
这个类中的方法是空的。此类的存在是为了方便创建侦听器对象。
【讨论】:
是的,对于听众来说,通常有一个 AbstractXXXAdapter 定义了所有方法(带有空主体)。然后,当您使用自己的侦听器时,您只需将其子类化并实现您需要的东西。有些框架提供这些,有些则不提供,因此您可能必须自己做。
【讨论】:
WindowListener,这是WindowAdapter 类