- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 面向对象技术 3.1 类和对象 3.2 类的创建 3.3 对象的创建 3.4 类的封装 3.5 类的继承 3.6 类的多态性 3.7 递归方法 3.1 类和对象 3.1.1 面向对象基本概念 3.1.2 定义类 3.1.3 使用对象 编程语言的几个发展阶段 程序设计语言的发展 面向机器 - 面向过程 -面向对象 面向机器(机器语言、汇编语言) 程序 = 数据 + 指令 设计者要考虑:硬件特性、数据安排位置、I/O设备的调用 适应:一般科学计算;简单控制处理 缺陷:可读性、维护性、移植性差;编程效率低 编程语言的几个发展阶段 (续) 面向过程(Fortran、Pascal、C、COBOL、Ada…) 程序 = 数据结构 + 算法 设计者要考虑:做什么、怎么做、每个过程细节 结构化、模块化设计 适应:复杂的科学计算;简单应用程序开发 缺陷:不适用于GUI界面、事件驱动编程; 对于规模较大的应用程序,难以维护 编程语言的几个发展阶段 (续) 面向对象(Smalltalk、C++ 、Java …) Object Oriented Programming (OOP) 全新的程序设计思想:计算机——现实世界 程序 = 对象 + 消息 设计者主要考虑:对象的描述、对象间的关系、类的管理、何时用何方法调动对象,在设计上强调两点: 1. 尽可能地重用软件的成分 2. 维持不同成分的独立性。 适应:大规模应用程序的解决方案、网络计算等 面向对象基本概念 类与对象 对象(object)是类似于现实世界的实体,具有属性、状态和行为特征 类(class)是对同一类对象的抽象,既包括数据(对应属性和状态)又包括作用于数据的一组操作(对应行为)的封装体。 实际是面向类的编程。 对象是类的实例(instance),动态存在(创建、运行、消亡)。 以人类为例 (P50) 对象间联系 对象间联系 对象通过相互发送消息来激发动作 什么是消息(Message) 消息 : 进行对象(实体)间的联系的方法 调用一次对象的方法(函数),称为向该对象发送一个消息 程序设计中: 消息是实现对象功能的主要手段 发送一个消息要考虑三方面内容: 接收的对象、使用的方法和所需参数 类的封装性、继承性和多态性 封装 数据及相应的操作都被封装在对象内,对外通过一个接口与程序的其他部分交互信息(“黑匣子”)。类的内部细节被隐藏。 继承 在已有类的基础上,通过扩充或改写其某些属性及方法,生成新的类,可重复使用代码。 多态 用相同的名字定义、调用不同的方法。 3.2 类的创建 类定义格式 类声明 { 成员变量的声明; 成员方法的声明及实现; } 声明类 [修饰符] class 类泛型 [extends 超类] [implements 接口列表] 声明成员变量 [修饰符] [static] [final] 数据类型 变量名; 3.2 类的创建 声明成员方法 方法声明语法 [修饰符] 返回值类型 方法([参数列表]) [throws 异常类] { 语句序列; [return [返回值]]; } 声明main方法 public static void main(String args[]) 类的定义要点(后面有详细说明) 类中定义的变量和方法都是类的成员 成员的访问权限有四种: private、protected、public 和 缺省 Java中的每个类有唯一的超类 缺省时:系统默认超类 Object 定义类的例子 【例3.1】 声明日期类。 自己定义学生类,至少3个属性,get和set方法 3.3 对象的创建 声明对象 类 对象 对象实例化 对象 = new 类的构造方法([参数列表]) 例:Date1 aday=new Date1(); 引用对象的成员变量和调用对象方法 对象.成员变量 对象.成员方法([参数列表]) 例:aday.year = 2006; //引用对象的成员变量 aday.setDate(2006,1,28); //调用对象的方法 3.3 对象的创建 对象的引用模型 3.3 对象的创建 方法调用时的参数传递原则 基本数据类型参数传递值; 引用数据类型参数传递引用。 对象初始化 对象创建时,其成员变量被初始化表3.1 Java各类型变量的初值 3.3 对象的创建 构造方法 是一种特殊方法,该方法名字与它的类名相同 用途是创建类的对象时,给对象进行初始化(属性赋值) 是公共方法,在其对象被创建时自动地被执行 定义
文档评论(0)