javaoop -接口与抽象类授课素材.pptx

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

2掌握Java接口理解Java接口与多态的关系掌握面向接口编程的思想掌握常量接口的使用

3电脑主板上的PCI插槽的规范就类似于Java接口声卡显卡网卡每种卡的内部结构都不相同,可以把声卡、网卡、显卡都插在PCI插槽上,而不用担心哪个插槽是专门插哪个卡的主板

4一个Java接口是一些方法特征的集合,但没有方法的实现publicinterfacePCI{

??publicvoidstart();?publicvoidstop();

}classSoundCardimplementsPCI{publicvoidstart()??{

????System.out.println(Dudu...);

??}

??publicvoidstop()??{

????System.out.println(Soundstop!);

??}

}Java接口中定义的方法在不同的地方被实现,可以具有完全不同的行为这是Java接口,相当于主板上的PCI插槽的规范classNetworkCardimplementsPCI{publicvoidstart()??{

????System.out.println(Send...);

??}

??publicvoidstop()??{

????System.out.println(Networkstop!);

??}

}声卡、网卡都实现了PCI插槽的规范,但行为完全不同

5publicclassAssembler{

??publicstaticvoidmain(String[]args){

????PCInc=newNetworkCard();

????PCIsc=newSoundCard();

nc.start();sc.start();??}

}可以使用Java接口标识类型运行时,根据实际创建的对象类型调用相应的方法实现Dudu...Send...控制台输出21

6为各中心开发这样一个小系统,包含类型:教员、中心、打印机,具体要求如下:教员、以及中心都具有方法:输出详细信息中心具有属性:打印机,能够通过中心的打印机打印教员或中心的详细信息系统要具备良好的可扩展性与可维护性打印教员中心教员

详细信息中心

详细信息detail方法(输出详细信息)

7以下这个解决方案中存在着什么问题?publicclassTeacher1{//输出教员的详细信息publicStringdetail(){ return本人是教员;}}publicclassSchool1{privatePrinterprinter=newPrinter();//输出中心的详细信息publicStringdetail(){return这里是中心;}//使用打印机打印教员信息publicvoidprint(Teacher1t){printer.print(t.detail());}//使用打印机打印中心信息publicvoidprint(School1s){ printer.print(s.detail());}}publicclassPrinter{publicvoidprint(Stringcontent){System.out.println(开始打印:);System.out.println(content);}}每增加一种新类型,都需要增加相应的print(类型名称var)方法——程序的可扩展性及可维护性极差——这不符合系统的要求

8可以通过多态性解决这个问题吗?显然,本系统符合使用多态性的条件教员中心detail方法(负责输出详细信息)教员

详细信息中心

详细信息1221回顾多态的含义:实现同一个接口,使用不同的实例而执行不同操作

9在这个系统中,存在继承关系吗?教员、中心属于两种不同的类型,无法通过“is-a”找到一个合适的父类教员、中心都存在一个共同的方法特征:detail,它们对detail方法有各自不同的实现——这完全符合Java接口的定义定义一个Java接口,在其中定义detail方法,但没有具体实现实现这个Java接口,不同的类对detail方法有不同的具体实现IntroduceableTeacher2(教员)School2(中心)

10publicinterfaceIntroduceable{publicStringdetail();}p

文档评论(0)

zhishifuwu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档