【摘要】:实际上,接口变量调用被类实现的接口中的方法,就是通知相应的对象调用接口的方法,这一过程称为对象功能的接口回调。下面通过一个测试类ItsGraph Test2来演示接口回调功能,如图4-32所示。图4-32验证接口回调使用接口回调的最大好处就是可以灵活地将接口类型参数替换为需要的具体类。接口回调和向上转型对象实现的多态是非常相似的,只是用到了抽象的最高境界——接口。
接口回调(interface callback)是指把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中,那么该接口变量就可以回调被类重写的接口方法。实际上,接口变量调用被类实现的接口中的方法,就是通知相应的对象调用接口的方法,这一过程称为对象功能的接口回调。
【例4-13】
演示接口回调。
下面通过一个测试类ItsGraph Test2来演示接口回调功能,如图4-32所示。
(www.xing528.com)
图4-32 验证接口回调
使用接口回调的最大好处就是可以灵活地将接口类型参数替换为需要的具体类。在本例中,printCircumference方法和print Area方法接收的都是ItsGraph接口类型参数,而实际传入的是具体子类对象的引用t、c,通过变量t、c引用的具体对象调用不同的接口实现方法。
由接口产生的多态是指不同的类在实现同一个接口时可能具有不同的实现方式,于是接口变量在回调接口方法时就可能具有多种形态。接口回调和向上转型对象实现的多态是非常相似的,只是用到了抽象的最高境界——接口。
面向接口去设计程序时,可以在接口中声明若干个抽象方法,方法体的内容细节由实现接口的类去完成。使用接口进行程序设计的核心思想是使用接口回调,即接口变量存放实现该接口的类的对象的引用,从而接口变量就可以回调类实现的接口方法。接口回调达到了具体实现与事务处理的解耦,在处理事务过程中不需要知道实现接口的子类,从而体现了开发中的开闭原则(对扩展开放,对修改关闭)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。