面向接口编程:
1, 在定义一个引用变量时, 心里想的应该是:我在这里需要一个什么样的功能。我是因为需要什么功能才创建变量的,接口定义了功能的集合! 所以我应该是用接口来定义这个引用变量嘛!
2, 定义好了引用变量以后, 要让它引用一个对象, 这个对象就应该是实现了那个接口的类的实例了。随便一个类, 只要它继承实现了那个接口, 那么它的实例都可以在这里被引用.
3, 方法的返回类型也是要定义为接口类型,因为, 你要记住:我们这个方法是需要返回一个有特定功能的对象, 同理,方法的参数的类型也是如此!
我的理解:所谓面向接口编程, 就是说在定义引用变量的时候, 用接口来定义。
多说一句: 也许你觉得用抽象类来定义也可以, 那么请你仔细的再领悟一下第一条吧。
我们完全可以给抽象类定义一个接口类型的嘛, 呵呵.
一直以来我的一个思想误区就是:在需要定义一个变量时,想的是它要引用哪一个对象, 其实不该这么想, 应该扭转一下这种想法, 以后,应该想的是,我需要什么功能呢,我要定义一个什么样的接口,从而给这里提供一些什么样的功能!
接口、工厂模式、IOC模式的运用,可以很好的减少模块之间的耦合,便于以后系统引用实例的更改。
我觉得这是接口的最大功用。
接口和抽象类都是对类的抽象,对类的划分,是最高层的抽象。
假如一个类实现了多个接口,那么用接口类型来定义它的引用变量的话,一眼就可以明白,这里是需要这个类的哪些个方法!
用接口类型定义引用变量,以后需要修改其引用的实例时,改动的地方要少一些!
本文阐述了面向接口编程的核心理念,即在定义变量时思考所需的功能而非具体实现。通过使用接口定义变量,可以提高代码的灵活性和扩展性,并降低模块间的耦合度。文中还探讨了接口与抽象类的区别及应用场景。


被折叠的 条评论
为什么被折叠?



