定义接口类型的引用变量有什么好处?

面向接口编程:

   

   1, 在定义一个引用变量时,  心里想的应该是:我在这里需要一个什么样的功能,我是因为需要什么功能才创建变量的!  接口定义了功能的集合!   所以我应该是用接口来定义这个引用变量嘛!

2, 定义好了引用变量以后,  要让它引用一个对象,  这个对象就应该是实现了那个接口的类的实例了!  随便一个类, 只要它继承实现了那个接口,  那么它的实例都可以在这里被引用.

3, 方法的返回类型也是要定义为接口类型,  因为,  你要记住: 我们这个方法是需要返回一个有特定功能的对象!  同理, 方法的参数的类型也是如此!

我的理解: 所谓面向接口编程,  就是说在定义引用变量的时候,  用接口来定义.

多说一句: 也许你觉得用抽象类来定义也可以, 那么请你仔细的再领悟一下第一条吧!

我们完全可以给抽象类定义一个接口类型的嘛, 呵呵.

一直以来我的一个思想误区就是:在需要定义一个变量时,想的是它要引用哪一个对象, 其实不该这么想, 应该扭转一下这种想法, 以后,应该想的是,我需要什么功能呢,我要定义一个什么样的接口,从而给这里提供一些什么样的功能!

-------------------------------------------------------------------------------------------------------------------------------------------------------

接口 以及 工厂模式以及IOC模式的运用, 可以很好的减少模块之间的耦合,便于以后系统引用实例的更改!

我觉得这是接口的最大功用!

接口和抽象类都是对类的抽象,对类的划分,是最高层的抽象!

--------------------------------------------------------------------------------------------------------------------------------

1,假如一个类实现了多个接口,那么用接口类型来定义它的引用变量的话,一眼就可以明白,这里是需要这个类的哪些个方法!

2,用接口类型定义引用变量,以后需要修改其引用的实例时,改动的地方要少一些!

 

原文地址:https://www.cnblogs.com/chaohi/p/2330442.html