我有两个接口,HasClickHandlers和DoesFancyFeedback.然后我有一些实现这两个接口的UI对象 – 例如,一个实现两个接口的Button都具有点击处理程序,并且也是有意思的反馈.
在我的代码中声明了Buttons,我不想实际上说Button,因为可能以后我会希望它是,我不知道,一个有点击处理程序的图像,并且有意见的反馈.所以不是具体的,而是说:
Button saveButton = aButtonIPassedIn;
saveButton.addClickHandler();
saveButton.doFancyFeedback();
我想说,
{HasClickHandlers + DoesFancyFeedback} clickyFeedbackThing = aThingIPassedIn;
clickyFeedbackThing.addClickHandler();
clickyFeedbackThing.doFancyFeedback();
我希望编译器要求aThingIPassedIn同时实现HasClickHandlers和DoesFancyFeedback.
我可以创建一个扩展这两个接口的接口,并使用它.有没有更简单/更简单的方式?