当我想为一个简单的WindowListener实现一个接口时真的很烦人,但完成工作的唯一方法就是实现所有方法,只留下一个无体的方法。看起来真的很丑陋,可以避免..
在这种情况下,是否存在可以避免无体实现的某种设计模式?
我尝试了策略/策略模式,但我最终采用相同的无体方法,除了更多的OOP方式。
答案 0 :(得分:6)
使用WindowAdapter并仅覆盖您需要的方法。有关here的更多信息。
答案 1 :(得分:2)
在WindowListener的API文档中,提到了一个类WindowAdapter
来实现接口:
此类中的方法为空。此类存在是为了创建侦听器对象的便利。
答案 2 :(得分:1)
是的,对于听众来说,通常会有AbstractXXXAdapter
定义了所有方法(使用空体)。然后,当您使用自己的侦听器时,您只需将其子类化并实现您需要的内容。有些框架提供这些,其他框架不提供,因此您可能必须自己完成。