欢迎来到天天文库
浏览记录
ID:57029649
大小:1.47 MB
页数:37页
时间:2020-07-26
《面向对象的Java实现接口课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面向对象的Java实现-接口第十二章/回顾举例说明在什么样的情况下,需要使用到继承?在Java程序中,多态性带给我们的好处是什么?/回顾问题什么是常量?Java中,常量的定义规则有哪些?什么是面向接口编程,它的好处是什么?/本章任务升级Hello,打印中心与教员的详细信息:正确使用面向接口编程的思想提高系统的可扩展性及可维护性/掌握Java接口理解Java接口与多态的关系掌握面向接口编程的思想掌握常量接口的使用学习目标/抽象类为什么有?上节继承父类方法的不确定性如实例:Animal/抽象类—解决
2、之道当父类的一些方法不能确定时,可以用abstract来修饰该方法[抽象方法],用abstract类修饰该类[抽象类]//生活中的接口/生活中的接口电脑主板上的PCI插槽的规范就类似于Java接口声卡显卡网卡每种卡的内部结构都不相同,可以把声卡、网卡、显卡都插在PCI插槽上,而不用担心哪个插槽是专门插哪个卡的主板//什么是Java接口2-1一个Java接口是一些方法特征的集合,但没有方法的实现publicinterfacePCI{ publicvoidstart();publicvoidst
3、op();}classSoundCardimplementsPCI{publicvoidstart() { System.out.println("Dudu..."); } publicvoidstop() { System.out.println("Soundstop!"); }}Java接口中定义的方法在不同的地方被实现,可以具有完全不同的行为这是Java接口,相当于主板上的PCI插槽的规范classNetworkCardimplementsPCI{pub
4、licvoidstart() { System.out.println("Send..."); } publicvoidstop() { System.out.println("Networkstop!"); }}声卡、网卡都实现了PCI插槽的规范,但行为完全不同/什么是Java接口2-2publicclassAssembler{ publicstaticvoidmain(String[]args){ PCInc=newNetworkCard();
5、 PCIsc=newSoundCard();nc.start();sc.start();}}可以使用Java接口标识类型运行时,根据实际创建的对象类型调用相应的方法实现Dudu...Send...控制台输出21/为什么需要Java接口为各中心开发这样一个小系统,包含类型:教员、中心、打印机,具体要求如下:教员、以及中心都具有方法:输出详细信息中心具有属性:打印机,能够通过中心的打印机打印教员或中心的详细信息系统要具备良好的可扩展性与可维护性打印教员中心教员详细信息中心详细信息det
6、ail方法(输出详细信息)/为什么需要Java接口以下这个解决方案中存在着什么问题?publicclassTeacher1{//输出教员的详细信息publicStringdetail(){return"本人是教员";}}publicclassSchool1{privatePrinterprinter=newPrinter();//输出中心的详细信息publicStringdetail(){return"这里是中心";}//使用打印机打印教员信息publicvoidprint(Teacher1t)
7、{printer.print(t.detail());}//使用打印机打印中心信息publicvoidprint(School1s){printer.print(s.detail());}}publicclassPrinter{publicvoidprint(Stringcontent){System.out.println("开始打印:");System.out.println(content);}}每增加一种新类型,都需要增加相应的print(类型名称var)方法——程序的可扩展性及可维护性
8、极差——这不符合系统的要求/为什么需要Java接口可以通过多态性解决这个问题吗?显然,本系统符合使用多态性的条件教员中心detail方法(负责输出详细信息)教员详细信息中心详细信息1221回顾多态的含义:实现同一个接口,使用不同的实例而执行不同操作/为什么需要Java接口在这个系统中,存在继承关系吗?教员、中心属于两种不同的类型,无法通过“is-a”找到一个合适的父类教员、中心都存在一个共同的方法特征:detail,它们对detail方法有各自不同的实现——这完全符合Java接口的定义定义一
此文档下载收益归作者所有