java3面向对象程序设计_2.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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( );

文档评论(0)

精华文档888 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档