常常我们会说接口能够很好降低模块间的耦合性,或都说接口在设计是具有很大的作用,但对于从未使用过接口的人,或都用接口设计的人,又怎么能很好的理解呢?
今天我也一直在想:接口在代码设计中,起到的实际作用是什么?
1。使用接口
在一个类中使用了一个接口,可以指向“实现了该接口的类”,并执行该接口中定义的方法。
现在我们把一个模块看作一个类:我们在A类中要使用到另一个B类中的某些特定功能的方法,而且这些功能可能在其它很多类中要使用到,
如果我们没有使用接口的话,我们可能会在A类中把B类声明为自己的一个成员变量,这样就可以调用B类中的方法,此时有A依赖B的关系!耦合性较高,
如果我们使用接口,我们在A类中声明一个接口变量,通过接口变量来调用接口中定义的方法,来完成某个功能,
如果说使用Spring把B类的对象依赖注入到接口变量中的话,则我们就可以把耦合性降低。
使用了某个接口,就意味着能直接使用该接口提供的功能,而不用去关心该功能是由谁实现,怎样去实现的。
2。接口的实现
在java中,一个类实现了某个接口,则说明这个类可以提供该接口的功能,即显式的说明类提供某项功能
今天我也一直在想:接口在代码设计中,起到的实际作用是什么?
1。使用接口
在一个类中使用了一个接口,可以指向“实现了该接口的类”,并执行该接口中定义的方法。
现在我们把一个模块看作一个类:我们在A类中要使用到另一个B类中的某些特定功能的方法,而且这些功能可能在其它很多类中要使用到,
如果我们没有使用接口的话,我们可能会在A类中把B类声明为自己的一个成员变量,这样就可以调用B类中的方法,此时有A依赖B的关系!耦合性较高,
如果我们使用接口,我们在A类中声明一个接口变量,通过接口变量来调用接口中定义的方法,来完成某个功能,
如果说使用Spring把B类的对象依赖注入到接口变量中的话,则我们就可以把耦合性降低。
使用了某个接口,就意味着能直接使用该接口提供的功能,而不用去关心该功能是由谁实现,怎样去实现的。
2。接口的实现
在java中,一个类实现了某个接口,则说明这个类可以提供该接口的功能,即显式的说明类提供某项功能