java中接口interface是面向对象的核心,它比抽象类更加严格,在实际项目中,如果多个类单单继承同一个抽象类,但这几个类的功能不可能跟这一个抽象类相同,不符合情理。而接口可以让每个接口继承多个接口,也可以被多个类实现。
比如:手机、wifi、蓝牙、USB接口、MP3等都支持USB接口,而手机是个抽象的词,HTC手机也可以支持USB接口,所以接口完全符合实际情况。而工厂模式封装了具体的对象,减少了工作量。
下面就来用简易实例详解实现接口和创建工厂模式:
前期准备工作(包括相关工具或所使用的原料等)
java运行环境
Notepad++
详细的操作方法或具体步骤
首先,比如用USB接口的例子解释实现接口:
创建4个接口,分别是USB接口、支持USB的Wifi接口、支持USB的Phone接口和小度Wifi的DuWifi接口,Wifi和Phone分别可以继承USB接口,而DuWifi也可以实现Wifi和Phone2个接口(说明DuWifi支持Wifi和Phone2个功能),值得注意的是实现2个接口必须实现这2个接口下的所有方法,代码如图所示:




然后,假如又多了个小米手机和联想手机,那么只需实现Phone接口,另外如果联想手机有附加功能,可以附加上自己的方法。代码如图所示:


到这里小米手机和联想手机功能添加完毕,可以测试这2个类是否实现接口正确,比如用flag作为监听用户的选择,那测试类Test代码以及测试结果如下:(这里要注意的是,要调用Phone的方法,可以使用向上转型的方法。)



由上面得知,一个接口可以继承多个接口和多个类可以共同实现一个接口,但最后测试不难发现,假如增加了多部手机(100部),而想使用这么多部手机,就要创建多次对象,很复杂,到这里就涉及到了工厂模式。
有了工厂模式,只需在工厂中创建对象,增加多部手机,就不用在使用对象(手机)时而创建多个对象了,这样解决了冗余情况,减少了工作量。
值得注意的是:
①创建工厂就好是静态static的,方便直接调用;
②和向上转型可以调用更多的方法;
③输入参数来判断用户的行为。
工厂创建好后,只需在测试代码中调用即可,其结果也是一样的,代码如图所示:



到这里java实现接口并创建工厂模式简易实例详解就结束了,实现接口主要是方便后期实体类调用;而工厂模式主要是方便后期增加功能方便调用所创建的。
注意事项
接口的实现和工厂模式的熟练掌握还需要通过大量实践、练习积累,才能熟能生巧、运用自如。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
