- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA 应用开发详解 第6章:面向对象(高级) —— 抽象类与接口的应用 本章目标 掌握抽象类及接口的实例化操作 掌握模板设计的作用 掌握工厂设计模式的作用 掌握代理设计模式的作用 掌握适配器设计模式的作用 掌握抽象类与接口的使用区别 为抽象类与接口实例化 在Java中可以通过对象的多态性,为抽象类和接口实例化,这样再使用抽象类和接口的时候就可以调用本子类中所覆写过的方法了。 为抽象类实例化 为接口实例化 抽象类的实际应用 —— 模板设计 来看下面的这样一种场景:“假设人分为学生和工人,学生和工人都可以说话,但是学生和工人说话的内容是不一样的,也就是说说话这个功能应该是一个具体功能,而说话的内容就要由学生或工人来决定了”,所以此时就可以使用抽象类实现这种场景 代码实现 —— Person 代码实现 —— Student 代码实现 —— Worker 提示:现实生活中的模板 对于以上的操作代码,如果读者不是很理解的话,那么可以看一下以下的说明,小的时候有些读者因为淘气可能会填写过如下的登记表: 接口的实际应用 —— 制定标准 接口在实际中更多的作用是用来制订标准的。比如说:“U盘和打印机都可以插在电脑上使用,这是因为它们都实现了USB的接口,对于电脑来说,只要是符合了USB接口标准的设备就都可以插进来 制订USB标准 设计模式 —— 工厂设计 工厂设计,是Java开发中使用的最多的一种设计模式,那么什么叫工厂设计,以及工厂设计有那些作用呢?在说明问题前,请读者先观察以下的程序。 观察程序中的问题 问题的解决 工厂设计模式 工厂类的操作流程 设计模式 —— 代理设计 代理设计也是在java开发中使用较多的一种设计模式,所谓的代理设计就是指一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他相关业务的处理,就好比在生活中经常使用到的代理上网那样,客户通过网络代理连接网络,由代理服务器完成用户权限,访问限制等与上网操作相关的操作。 分析结果 不管是代理操作也好,真实的操作也好,其共同的目的就是一个上网,所以用户关心的只是如何上网,至于里面是如何操作的用户并不关心 代理操作 代理操作流程 设计模式 —— 适配器设计 对于Java程序来说,如果一个类要实现一个接口,则肯定要覆写此接口中的全部抽象方法,那么如果,此时一个接口中定义的抽象方法过多,但是在子类中又用不到这么多抽象方法的话,则肯定很麻烦,所以此时就需要一个中间的过渡,但是此过渡类又不希望被直接使用,所以将此过渡类定义成抽象类最合适,即一个接口首先被一个抽象类(此抽象类通常称为适配器类),并在此抽象类中实现若干方法(方法体为空),则以后的子类直接继承此抽象类,就可以有选择的覆写所需要的方法。 适配器设计实现 内部类的扩展 在之前面向对象的基础部分,曾经为读者讲解过内部类的概念,实际上在一个抽象类中也可以定义多个接口或抽象类,在一个接口中也可以定义多个抽象类或接口。 在一个抽象类中包含接口 在一个接口中包含抽象类 抽象类与接口之间的关系 下一章内容 E-MAIL:mldnqa@163.com ? MLDN 软件教学研发部 MLDN 软件教学研发部 abstract class A{ // 定义抽象类A public abstract void print() ; // 定义抽象方法print() }; class B extends A{ // 子类通过继承抽象类 public void print(){ System.out.println(Hello World!!!) ; } }; public class AbstractCaseDemo01 { public static void main(String[] args) { A a = new B() ; // 通过子类为抽象类实例化 a.print() ; // 调用的方法是被子类覆写过的方法 } } interface A{ public abstract void print() ; }; class B implements A{ // 子类实现接口 public void print(){ System.out.println(Hello World!!!) ; } }; public class InterfaceCaseDemo01 { public static void main(String[] args) { A a = new B() ; // 通过子类为接口实例化 a.print() ; // 调用的方法是被子类覆写过的方法 } } abs
您可能关注的文档
- 《Authorware多媒体制作》模拟测试题二.doc
- 《Authorware多媒体制作》模拟测试题二答案.doc
- 《Authorware多媒体制作》模拟测试题一.doc
- 《Authorware多媒体制作》模拟测试题一答案.doc
- 《C1语言Windows程序设计》第1章 C1 概述.ppt
- 《C2语言Windows程序设计》第2章 NET简介.ppt
- 《C3语言Windows程序设计》第3章 C3编程基础.ppt
- 《C4语言Windows程序设计》第4章 面向对象程序设计.ppt
- 《C5语言Windows程序设计》第5章 Windows窗体与控件程序设计.ppt
- 《EDA技术与Verilog HDL》清华第2版-第2章 Verilog程序结构与数据类型.pdf
- 《Java开发实战经典》教师讲解020610 实例分析:宠物商店.ppt
- 《Java开发实战经典》教师讲解020612 包装类.ppt
- 《Java开发实战经典》教师讲解020613 匿名内部类.ppt
- 《Java开发实战经典》教师讲解020611 Object类.ppt
- 《Java开发实战经典》教师讲解020701 异常的基本概念.ppt
- 《Java开发实战经典》教师讲解020702 异常的其他概念.ppt
- 《Java开发实战经典》教师讲解020801 包的定义及导入.ppt
- 《Java开发实战经典》教师讲解030901 认识多线程.ppt
- 《Java开发实战经典》教师讲解020802 访问控制权限及命名规范.ppt
- 《Java开发实战经典》教师讲解030902 线程常用操作方法.ppt
最近下载
- 皮带硫化知识.doc VIP
- [紧固件]常用紧固件选型设计.pdf VIP
- 高速公路钢筋混凝土盖板涵首件施工方案.doc VIP
- 解读《GB_Z 44526 - 2024无损检测 操作能力鉴定》全面解读.docx VIP
- 本田GX630-660-690发动机维修手册.pdf VIP
- 2025四川成都东部集团有限公司及下属企业招聘产业招商等岗位94人笔试备考题库及答案解析.docx VIP
- (全国通用)01-2023年秋季高一入学分班考试模拟卷地理试题(解析版).docx VIP
- 20210129-中信建投-因子深度研究系列:高频订单失衡及价差因子.pdf VIP
- 发电厂检修规程.docx VIP
- 2024-2025学年度第二学期期末综合素质调研七年级英语试题(含听力材料及答案).docx
文档评论(0)