1 理解接口与实现的区别
以上一篇文章的电视机需要插电使用的例子继续来讲解:
对电视而言,插电使用,只需要标准的插座即可,具体的电从哪里来,是火力发电厂,或是太阳能发电,亦或是畜电池逆变供电,电视机是不需要关心的。
发电厂或供电设备属于实现,220V交流电插座属于接口。改变实现不会对电视机的使用产生影响,而改变接口则会。
- 接口:呈现给外部使用的服务属于接口,进一步将,只需要呈现需要使用的接口。
- 实现:实现的细节对外部是进行隐藏的,对代码编写来说,修改实现是不需要变动用户代码的。
2 使用抽象思维设计接口
面向对象编程的一大优势,是可以重用类,而这些可重用的类,接口通常比较抽象。
- 具体接口:功能明确
- 抽象接口:通用性高
举个例子:创建一个出租车对象,有抽象接口(送到机场)和具体接口(左转、右转、启动、停止)
对于抽象接口,送到机场,不管是在哪座城市,哪个位置,都可以到达机场,只是具体的路径可能会不一样。
<