面向对象编程基础 (二)ppt课件.ppt

面向对象编程基础 (二)ppt课件.ppt

ID:58988468

大小:566.00 KB

页数:34页

时间:2020-09-27

面向对象编程基础 (二)ppt课件.ppt_第1页
面向对象编程基础 (二)ppt课件.ppt_第2页
面向对象编程基础 (二)ppt课件.ppt_第3页
面向对象编程基础 (二)ppt课件.ppt_第4页
面向对象编程基础 (二)ppt课件.ppt_第5页
资源描述:

《面向对象编程基础 (二)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、面向对象编程基础(二)软件学院代飞2014.春生活中的接口声卡显卡网卡每种卡的内部结构都不相同,可以把声卡、网卡、显卡都插在PCI插槽上,而不用担心哪个插槽是专门插哪个卡的主板Java接口publicinterfacePCI{  publicvoidstart();publicvoidstop();}classSoundCardimplementsPCI{publicvoidstart()  {    System.out.println("Dudu...");  }  publicvoidstop()  {    System.out.println("Soundstop!")

2、;  }}Java接口中定义的方法在不同的地方被实现,可以具有完全不同的行为这是Java接口,相当于主板上的PCI插槽的规范classNetworkCardimplementsPCI{publicvoidstart()  {    System.out.println("Send...");  }  publicvoidstop()  {    System.out.println("Networkstop!");  }}声卡、网卡都实现了PCI插槽的规范,但行为完全不同基于接口的多态publicclassAssembler{  publicstaticvoidmain(Stri

3、ng[]args){    PCInc=newNetworkCard();    PCIsc=newSoundCard();nc.start();sc.start();}}Dudu...Send...控制台输出案例软件学院需开发这样一个小系统,包含:软件学院、教师、系、打印机,具体要求如下:1、教师和系都具有方法:输出详细信息2、软件学院具有属性:打印机,能够打印教师、系、软件学院的详细信息3、系统要具备良好的可扩展性与可维护性打印教师系教师详细信息系详细信息detail方法(输出详细信息)软件学院publicclassSoftwareTeacher{//输出教师的详细信息pub

4、licStringdetail(){return“本人是软件工程系教师";}}publicclassSoftwareSchool{privatePrinterprinter=newPrinter();//输出中心的详细信息publicStringdetail(){return“这是云南大学软件学院";}//使用打印机打印教师信息publicvoidprint(SoftwareTeachert){printer.print(t.detail());}//使用打印机打印系信息publicvoidprint(SoftwareDepartments){printer.print(s.de

5、tail());}}publicclassPrinter{publicvoidprint(Stringcontent){System.out.println("开始打印:");System.out.println(content);}}每增加一种新类型,都需要增加相应的print(类型名称var)方法——程序的可扩展性及可维护性极差——这不符合系统的要求publicclassSoftwareDepartment{publicStringdetail(){return“这是软件工程系";}}可以通过多态性解决这个问题吗?如果教师和系都实现同一接口,接口类型的变量便可以指向教师对象,

6、或者系对象了教师系detail方法(负责输出详细信息)教师详细信息系详细信息回顾多态的含义:父类型的变量(reference)可以指向父对象,还可以指向子对象;教师、系都存在一个共同的方法特征:detail,它们对detail方法有各自不同的实现——这完全符合Java接口的定义定义一个Java接口,在其中定义detail方法,但没有具体实现实现这个Java接口,不同的类对detail方法有不同的具体实现TeacherSoftwareTeacherNetworkTeacher定义一个Java接口,在其中定义detail方法,但没有具体实现实现这个Java接口,不同的类对detail

7、方法有不同的具体实现DepartmentSoftwareDepartmentNetworkDepartmentpublicinterfaceTeacher{publicStringdetail();}publicclassSoftwareSchool{privatePrinterprinter=newPrinter();//输出学院的详细信息publicStringdetail(){return“这里是软件学院";}//使用学院打印机打印教师publicvoidprint(Tea

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。