JAVA-初步认识-第十章-面向对象-接口的应用

一.

把接口这个知识,给它深化一下。

再开发的时候,先设计接口,再开发程序,最后考虑扩展功能。

定义应用程序之前,先把规则定义好。我的应用程序当中,就在使用这个规则。规则就是接口,后来的外加设备,就是接口的实现。

接口的两个作用,定义规则使用规则,另一个就是实现规则。

接口是like,怎么理解呢?子类实现了接口,usb是接口,usb的鼠标,usb的硬盘,都是像usb的一种,而不是usb的一种。继承是is a,是里面的一种。

截图中的这一部分做个讲解,原先没有useMouse(Mouse m)这个方法,没有鼠标。现在撬开电脑,焊上一个鼠标,就在BookPC中出现了一个useMouse的方法。如果还要增加功能的话,就要不断往类中写入方法,电脑就要不断地撬开,焊上外设。这样做不合适。

上面的截图就在使用usb规则。从头来解析这个截图中的程序,首先电脑这个类是必须要有的,里面封装了很多东西。组成中最重要的一点,就是对于usb接口进行规定,和确保能够使用usb接口。也就是说存在一个useUSB()的方法,里面的参数就是USB接口类型的参数,每当在方法中放入USB接口类型的参数时,我们都可以对其进行操作,目前设定的操作就是开和关。为什么主函数中的语句是useUSB(null);呢,null就是因为对象还不确定,对象就是后来要添加的外设。其实,最重要的是接口,以及函数的代码位置的描述。useUSB()的方法和主函数同时存在,就是因为电脑存在的时候,必须确定规则,和明确要使用规则。接口的定义为什么要放置在外面呢?要从上面的示例中回想,要将鼠标方法移动到电脑类的外面来,这是后加的。对于外设进行抽取,形成USB接口。但是最终在书写代码的时候,肯定是先写USB接口的代码,再去写电脑的类。

上面两张截图,讲解的顺序是从上往下。先有上面一张,再有下面一张。如果类写成class UPan是不行的,这样的外设不匹配电脑的usb规则(定义的USB接口就是规则。规则定义在电脑类外面,能否使用定义在电脑类里面。),所以要实现USB接口,要写成class UPan implements USB即可。同时,U盘这个类中,还要有开关的方法。最后,主函数中useUSB()方法中就不是空了,就有了对象。

在这里,电脑中要有接口设置,外设中也要有接口设置,这是两部分。(实际开发中,通常会做成一部分,只需要子类中实现接口就行,往主函数里一放,里面就自动运行了。自己在编写的时候,前面都是已经弄好的。电脑已经是弄好的,大家更多的是研究外围设备。)

这样,从整体来看,前期进行的设计准备,后期在往里面添加设备时,照样能用。

注意:接口类型的引用指向的都是子类对象,接口是无法创建对象的。

接口的三个特点在程序中的应用,

与一开始鼠标放置在主函数中相比,现在鼠标,U盘什么的都是后来的,这样耦合性变差了。

原文地址:https://www.cnblogs.com/wsw-bk/p/7818549.html