个人认为这样做的好处有两个:
1.分离类与具体接口
2.分离函数与具体类
例子:
要求:我们想计算N种不同类型数据的平均值
1.用直接实现的方式解决问题:
我们用一个类表示一种类型的数据,用一个接口返回类中具体的数据即在该接口中声明一个抽象的getter方法,N个数据类都需要实现继承这个接口,我们就需要为每个类写1个getter方法用于返回数据,即写N个getter方法,又需要写N个传入参数类型不同的方法以求N种不同类型数据的平均值。
2.用接口回调的方式解决问题:
我们依然用一个接口返回类中具体的数据即getter方法,但是这次我们创建N个类实现继承这个接口,这些类的专门用于返回各个数据,在这N个类中写getter方法,但重点来了,接下来我们只需要写一个传入参数为接口类型的方法来求平均的方法,这个方法可以通过接口变量得到N种不同类的数据,因此,我们只需要写这一个方法即可为所有类型的数据求平均。
相比于用直接实现的方式,用接口回调将类与接口分离,将函数与类分离可以大大地节省我们的工作量(N+1