- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 面向对象程序设计 本章总体纲要 类、域、方法和实例对象 继承性 多态性 包(package) 封装性 关键字abstract、static、final和this 接口 内部类 变量作用域范围和参数传递方式 面向对象程序设计基本思想 继承性 继承性 – 软件重用的一种方法 根据已有的类创建新的类 采纳了旧的类的属性(域)及其行为(方法) 增加了新的能力 子类继承父类 子类增加了新的成员域或新的成员方法 有时可以理解成: (但不绝对!) 子类对象是一种特殊的父类对象 继承性的实现 采用关键字extends public class J_HelloApplet extends Applet { // … } // 类J_HelloApplet结束 关键字: instanceof 运算符: instanceof 例如: if (p instanceof Circle) 上面的条件为 true, 当且仅当引用p所指向的对象是类Circle(或其子类)的实例对象 多重继承 在有些计算机语言中,允许一个类有多个直接父类。这种继承关系称为多重继承 Java不支持多重继承 Java 允许一个类有多个直接父接口(interface) 本章总体纲要 类、域、方法和实例对象 继承性 多态性 包(package) 封装性 关键字abstract、static、final和this 接口 内部类 变量作用域范围和参数传递方式 面向对象程序设计基本思想 多态性 优点: 代码重用 简化设计、简化代码 便于程序扩展 多态性的种类 静态的多态性?重载 动态的多态性?覆盖 静态的多态性(重载) 在编译时就能够被识别 针对的是同一个类内的同名方法 例如: public int square(int x) { return x * x; } public double square(double x) { return x * x; } 识别重载方法 识别标志: 参数的个数、类型、数据类型的排列顺序 返回值不能做为识别的标志 动态多态性(覆盖) 在程序运行时才被识别 重写父类的方法 要求相同的声明 例如: public class J_HelloApplet extends JApplet { public void paint(Graphics g) { g.clearRect(0, 0, getWidth( ), getHeight( )); // 清除背景 g.drawString(小应用程序,您好!, 10, 20); } // 方法paint结束 } // 类J_HelloApplet结束 源程序: J_Teacher.Java // 文件名: J_Teacher.java; 开发者: 雍俊海 class J_Employee { public int m_workYear; // 工作的年限 public J_Employee( ) { m_workYear = 1; } // J_Employee构造方法结束 public void mb_printInfo( ) { System.out.println(该职工的工作年限为 + m_workYear); } // 方法mb_printInfo结束 } // 类J_Employee结束 源程序: J_Teacher.Java public class J_Teacher extends J_Employee { public int m_classHour; // 授课的课时 public J_Teacher( ) { m_classHour = 96; } // J_Teacher构造方法结束 public void mb_printInfo( ) { System.out.println(该教师的工作年限为 + m_workYear); System.out.println(该教师授课的课时为 + m_classHour); } // 方法mb_printInfo结束 public static void main(String args[ ]) { J_Employee a = new J_Employee( ); a.mb_printInfo( ); a = new J_Teacher( );
您可能关注的文档
- 1 java类.ppt
- 1 Struts2入门与配置.ppt
- 1 TCP IP基础知识.ppt
- 1)MATLAB概述.ppt
- 1.Java入门.ppt
- 01_Struts2框架简介1.ppt
- 1Hibernate基本API.ppt
- 1第一章 面向对象软件工程概述.ppt
- 2 java小程序.ppt
- 02Java视频教程-数据类型-常量-标识符-变量.ppt
- 基于人工智能教育平台的移动应用开发,探讨跨平台兼容性影响因素及优化策略教学研究课题报告.docx
- 高中生物实验:城市热岛效应对城市生态系统服务功能的影响机制教学研究课题报告.docx
- 信息技术行业信息安全法律法规研究及政策建议教学研究课题报告.docx
- 人工智能视角下区域教育评价改革:利益相关者互动与政策支持研究教学研究课题报告.docx
- 6 《垃圾填埋场渗滤液处理与土地资源化利用研究》教学研究课题报告.docx
- 小学音乐与美术教师跨学科协作模式构建:人工智能技术助力教学创新教学研究课题报告.docx
- 《航空航天3D打印技术对航空器装配工艺的创新与效率提升》教学研究课题报告.docx
- 教育扶贫精准化策略研究:人工智能技术在区域教育中的应用与创新教学研究课题报告.docx
- 《区块链技术在电子政务电子档案管理中的数据完整性保障与优化》教学研究课题报告.docx
- 《中医护理情志疗法对癌症患者心理状态和生活质量提升的长期追踪研究》教学研究课题报告.docx
文档评论(0)