已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 1面向对象问题求解的提出软件开发面临的问题理论上如何解决复杂 简化 缩短开发周期 易维护等语言方面机器语言 面向过程 面向对象面向对象的程序设计结构化程序设计模块化数据抽象信息隐藏知识表示并行处理 优点提高了软件的生产力 可扩充 可重用 减小了维护开销 复杂性降低 标准件使用 更接近人的思维活动面向对象方法分析 OOAObjectOrientedAnalysis 设计 OODObjectOrientedDesigned 实现 OOPObjectOrientedProgramming 1 2面向对象问题求解概述 面向过程以具体的解题过程为研究和实现的主体面向对象以解决问题中所涉及到的各种对象为主体面向对象程序设计核心围绕几个概念抽象数据类型和类类的层次 子类继承和多态 对象 Object 面向对象技术的核心对象是现实世界的实体或概念在计算机逻辑中的抽象表示一个对象包含数据结构及相关的操作例如 某台电视机 特指的某辆汽车黑盒用户只关心能做什么 如汽车的功能 代步 运输等等而不必关心具体内部原理 即如何做 面向对象的程序是由对象组成 这些对象应具有以下特征 自治性 数据结构和操作合为一体 且私有和公有分开 可以达到保护 减少干扰 降低复杂性 提高可靠性 自恰性 可以通过自身定义的操作来管理自己接口和消息机制 消息隐藏 通过接口体现功能 抽象抽象的概念从特定的实体中抽取共性形成一般化概念的过程简化了的描述 强调共性 忽略一部分细节描述 说明解释 实现抽象是具有层次的 高层抽象视其低层抽象为它的一种实现是人们理解复杂现象和求解复杂问题中处理复杂性的重要工具面向对象的抽象原理数据抽象模块化信息隐藏行为共享进化确定性 类类的概念创建对象的样板包含外部接口和内部算法以及数据结构的形式简单化 是同种对象的集合与抽象例 电脑是一个类 手提式 台式 掌上电脑 实体与对象的关系实体 现实世界 电视机 汽车 对象 计算机世界 电视的属性和功能 对象 计算机世界 类 现实世界 实体 抽象数据类 映射 计算机逻辑的实现 实例化 抽象 抽象 概念世界 面向对象技术的一个关键的设计思想让计算机逻辑来模拟现实世界的物理存在让计算机世界向现实世界靠拢 面向对象反之让现实向计算机靠拢 面向过程最终目的接近自然的思维模式更接近于现实问题的本来面目的方法 设计缩短开发周期易于维护 对客观世界进行抽象的例子1自行车 数据 属性 车架尺寸车轮尺寸牌子材料名称 操作变速移动修理 2窗口菜单 数据 属性 颜色样式标题位置 操作 选择增加移动 1 3对象的属性 1 3 1对象的属性对象的状态 又称静态属性 对象内部所包含的各种信息 即变量 行为又称操作或方法 动态属性 其作用是设置或改变对象的状态方法 行为 和状态的关系 状态是否开启所在频道 行为 打开 行为 改变频道 以电视机为例 方法将对象的内部变量 状态 包裹 封装 保护只能通过方法改变状态方法是对象与外界交互的接口面向对象的问题求解的最终目的最终形成一个广泛联系的 可理解的 可扩充的 可维护的更接近问题原形的动态对象模型系统 对象 实体与类关系 对象 现实世界中某个具体的物理实体在计算机逻辑中的映射和体现类 是一种抽象的数据类型 是同种对象的集合与抽象 属于类的某一个对象则被称为类的一个实例 鸭子 类那只红嘴巴的鸭子 对象 手表 类老王的手表 对象 1 3 2对象的关系包含当对象A是对象B的属性时 称对象B包含对象A 例 电视机 显像管 汽车 发动机继承当对象A是对象B的特例时 称对象A继承了对象B 例 小汽车 小轿车 小货车 小客车 学生 小学生 中学生 大学生 父 公共关系集合子 除公共以外 有属于自己的特殊属性关联当对象A的引用是对象B的属性时 称对象A B为关联关系对象的引用 可以获取或操作该对象的途径 线索 例 汽车对象中包含厂商对象的线索 厂名 址 电话 注意 包含和继承的区别包含 是整体中不可缺少的一个部分继承 是在已有之上细化 具体化 扩充 是一般与特殊的结构关系 包含和关联的区别包含 含有实体关联 不含实体 只包含与实体相关的线索 1 4面向对象的软件开发过程 需求分析 需求模型 对象模型 动态行为模型 用户界面模型 设计 概要设计 详细设计 实现 选择语言 编码 集成 测试 1 4 1面向对象的分析任务 用户需求OOA模型的设计和表达方法 五个层次 对象 类层现实世界到计算机世界 对象 类 的抽象静态属性层设计对象的状态及各对象间的约束关系服务层 方法层 定义对象和类的动态属性及对象之间的消息通信结构层定义系统中的所有对象和类之间的层次结构关系主题层划分子系统 1 4 2面向对象的设计OOD模型划分为四个部分问题逻辑界面管理负责整个系统的人 机界面设计任务管理负责处理并行操作之类的系统资源管理功能的工作数据管理负责设计系统与数据库的接口分为四个部分的优点技术实现上的透明性可重用性大大提高维护更容易 问题逻辑部分的任务对最初的OOA模型进一步细化分析 设计和验证细化分析包括对类静态数据的确定对类方法的参数 返值 功能实现的明确规定细化验证包括各对象类公式间的相容性和一致性各个类间 类内成员的访问权限的严格合理性对象类的功能是否符合用户需求详细设计原则充分利用已存在的 可获得的对象类或部件分析哪些类或哪些功能是可重用的 交专人优先开发大型项目设专人管理可重用资源 组成类库或其它可重用结构 充分 合理地利用资源 1 4 3面向对象的实现 编码阶段选择语言用语言编码实现详细设计阶段所得公式 图表 说明和规划等对软件系统各对象类的详尽描述将类代码模块根据类的相互关系集成 层次 按测试样例进行模块及系统测试 测试可与编码同步完成 1 5面向对象程序设计的特点 抽象 简化描述 抽取共性封装所有对象内部软件范围具有清晰的边界描述该对象与其它对象如何相互作用的接口受保护的内部实现继承 层次关系 创建新类的一种方法多态不同对象对同一种信息可以按照对象本身的性质加以回应动态联编 运行时真正锁定需要的对象 1 6面向对象程序设计方法的优点 可重用性面向对象软件开发的核心思路可扩展性 快速原型法 从简单起 不断补充 延伸可管理性由于封装 便于管理 1 7第一章小结 面向对象问题的提出和求解的基本过程基本概念对象 类 实体及其相互关系对象的属性 状态和行为 对象间的关系包含 部分 整体继承 一般 特殊关联 相关的一条线索软件工程开发方法 OOA OOD OOP 面向对象程序设计的特点 抽象 封装 继承 多态 动联 面向对象程序设计方法的优点 可重用 扩展 管理 作业 1 按照数据抽象原理 体现面向对象的设计要求 给出几何图形 如 点 线 多边形 圆等 的继承关系层次图 2 给出对象计算机 对象 联想 牌计算机 对象CPU及对象计算机商家 或厂家 之间的关系 一 Java的发展历史 1991 Sun成立由JamesGosling领导的Green小组 开发了Oak语言 1995 1 JamesGosling和Naughton完成Oak新版与第一个基于Oak的应用程序WebRunner Oak JavaWebRunner HotJava 支持Java的第二代浏览器1998年底 发布J2SDK 目前最新版本是JDK7 JamesGosling Java2平台 Java2PlatformStandardEdition J2SEJava2PlatformEnterpriseEdition J2EEJava2PlatformMicroEdition J2ME Java开发平台 Java语言 Java是一种编程语言 Java又是一种平台 2020 1 7 29 Java编程语言 Java平台 Java的特征 Sun在JAVA 白皮书 中指出 JAVA是一种 简单 面向对象 分布式 解释型 健壮 安全 体系结构中立 可移植 高性能和动态 的编程语言极尽赞美之辞也不为过 二 Java的语法机制概述 与C 一致的语法机制 同 数据类型 表达式 程序流控制 结构化异常处理等 与C 不同的语法机制 异 类 接口 Interface 程序包 Package 自动内存回收以及多线程 Java与C 不同的语法机制 类 最重要 最基本的语法 类的定义与继承与C 类似 主要区别 Java不允许多重继承 多重继承必须通过接口实现 Java引进了abstract和final修饰词 带abstract的类称为抽象类 只能作为父类使用 不能直接产生实例对象 带final的类不能用作父类被继承 带final的属性在定义式必须赋初值并称为常量 带final的方法将禁止子类 Overriding Java与C 不同的语法机制 接口 是一种抽象类 其中只能出现静态常量或抽象方法定义 主要目的是实现多重继承功能 避免C 在多重继承语义上的复杂性 一个JAVA类可以实现 继承 多个接口 Java与C 不同的语法机制 程序包 package 是一些相关类或接口的集合 JAVA提供包括可重用类标准程序包 用户可自定义程序包 通过import语句将程序包引入应用程序 Java与C 不同的语法机制 自动内存回收 JAVA取消了指针类型 所有动态内存请求均通过new运算符 并且得到的不是指针而是引用 系统进行内存回收 多线程 依赖操作系统提供的线程管理的API 与平台绑定 语言级支持多线程 忽略操作系统多线程机制的差异 软件具有更好的可靠性和可移植性 三 JAVA运行系统 Java运行系统的构成 类装配器 字节码验证器 解释器 代码生成器 运行支持库Java运行环境的种类 JAVAApplication JAVA解释器 JAVAApplet JAVA兼容的Web浏览器 JAVA程序运行过程 Hello java JavacHello java Hello class 网络 类装配器 字节码验证器 解释器 代码生成器 运行支持库 本地系统 编译 运行 四 JAVA常用开发工具 JDK Sun 命令行EclipseJCreator XINOX NetBeans Sun JavaStudioCreator Sun JBuilder Borland VisualAgeforJava IBM 4 1JDK1 6的获取与安装 从PATH PATH c java bin CLASSPATH c java lib 4 1JDK安装目录结构简介 1 软件安装的根目录包含版权 许可以及README文件 还包括 src zip构成Java平台核心API的所有类的源文件的归档 2 bin目录包含JDK开发工具的可执行文件 3 lib目录开发工具使用的归档包文件 4 jre目录Java运行时环境的根目录 其子目录 jre bin中包含Java平台使用的工具和库的可执行文件及DLL 5 demo目录 含有资源代码的程序示例 4 1JDK目录结构中bin目录下主要开发工具的可执行文件简介 1 javac Java语言的编译器 2 java Java应用程序执行引擎 类名后面可带一个或多个字符串参数 3 javadoc API生成器 对当前类生成HTML格式的API文档 4 appletviewer 小应用程序浏览器 5 jar JavaArchive文件归档工具 用它可以把类文件以及其他格式的文件进行压缩 以便于程序中引入以及网络传输等 6 jdb Java调试工具Debugger Java的API ApplicationProgramInterface Java的API文档是Java程序开发的最好帮手 从 Java程序中的类的定义的语法形式 修饰符class类名 extend父类名 type类变量1 type类变量2 修饰符type类方法1 参数列表 type局部变量 方法体 修饰符type类方法2 参数列表 type局部变量 方法体 成员变量 成员方法 Java应用程序举例 HelloWorldApp java publicclassHelloWorldApp publicstaticvoidmain Stringargs System out println HelloWorld Java程序编写 编译过程 main声明 Java程序入口点格式publicstaticvoidmain Stringargs 源文件的名字与main 方法所在的类名相同 扩展名必须是 java 编译javacHelloWordApp java生成HelloWorldApp class 运行javaHelloWorldApp 4 3Eclipse的安装与使用 下载地址http www eclipse org downloads 最新的Eclipse 1 Eclipse启动 2 选择一个work
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年聂荣县医疗事业单位人员招聘考试参考题库及答案解析
- 2026年乌什县医疗事业单位人员招聘考试备考题库及答案解析
- 2026年永吉县医疗事业单位人员招聘考试备考题库及答案解析
- 2026年上林县医疗事业单位人员招聘考试备考题库及答案解析
- 2026年民勤县带编教师招聘笔试备考题库及答案解析
- 2026年金沙县医疗事业单位人员招聘笔试模拟试题及答案解析
- 2026年蓝田县医疗事业单位人员招聘考试备考试题及答案解析
- 2026年仲巴县中小学幼儿园教师招聘考试备考题库及答案解析
- 2026年夏河县中小学幼儿园教师招聘笔试模拟试题及答案解析
- 2026年黎平县带编教师招聘笔试备考题库及答案解析
- 2025年新员工三级安全培训考核试题之三级安全教育考试(班组级)及答案
- 2026国企中层干部竞岗笔试真题题库及标准答案(竞聘专用完整版)
- 苏轼自题金山画像 课件
- 河科大金属材料成形基础课件01工程材料的性质
- RTCA∕DO-160G 机载设备环境条件和试验程序
- (2026年)纪念红军长征胜利90周年主题班会-爱我中华 长征启新程课件
- 骨科术后神经肌肉电生物反馈训练方案
- 国际货运代理客服部培训
- 2026北京语言大学新编长聘人员招聘25人备考题库(第一批)带答案详解
- 中医基础理论全套课件415P-课件
- 2026年农村房屋买卖合同模板
评论
0/150
提交评论