版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、张学民博士Java 程序设计河北工业大学管理学院 教授河北工业大学EMBA教育中心 主任2012春季学期:信管091 信管C091OO (Object Oriented)UML (Unified Modelling Language)简介Java程序设计2012春季学期:信管091 信管C091张学民 3河北工业大学管理学院面向对象(Object-Oriented)思想Java程序设计2012春季学期:信管091 信管C091张学民 4河北工业大学管理学院面向对象分析Java程序设计2012春季学期:信管091 信管C091张学民 5河北工业大学管理学院面向对象设计Java程序设计2012春季
2、学期:信管091 信管C091张学民 6河北工业大学管理学院Object (对象) 是一个客观存在的、唯一的实体 是面向对象编程过程中分析与解决问题的出发点与基础 拥有自己的标识、数据与行为 可以简单或复杂 可以抽象或具体 是一个类的动态实例Java程序设计2012春季学期:信管091 信管C091张学民 7河北工业大学管理学院Class (类) 类是对象的模板 对象通过类实例化(instance)产生 一个类可以创建多个对象汽车设计图第1辆第3辆第2辆汽车类与汽车的实例Java程序设计2012春季学期:信管091 信管C091张学民 8河北工业大学管理学院OOP (面向对象编程) 特征 抽象
3、(abstract) 封装(encapsulation) 继承(inheritance) 多态(polymorphism) 关联(association) 聚合(aggregation) 组合(composition) 内聚与耦合(cohesion & coupling)Java程序设计2012春季学期:信管091 信管C091张学民 9河北工业大学管理学院抽象(abstract) 忽略掉一个对象或实体的细节而只关注其本质特征的过程 简化功能与格式 帮助用户与对象交互Java程序设计2012春季学期:信管091 信管C091张学民 10河北工业大学管理学院封装(encapsulatio
4、n) 隐藏数据和实现 提供公共方法供用户调用功能 对象的两种视图 外部视图:对象能做的工作 内部视图:对象如何完成工作Java程序设计2012春季学期:信管091 信管C091张学民 11河北工业大学管理学院继承(inheritance) 通过存在的类型定义新类型的机制 通常在两个类型之间存在“is a”或“kind of”这样的关系 通过继承可实现代码重用,另外继承也是多态的基础 如苹果“is a”水果Java程序设计2012春季学期:信管091 信管C091张学民 12河北工业大学管理学院多态(polymorphism) 基于名称的多态:一个名称,多种形式 如: Football - pl
5、ay():使用脚来完成 Basketball - play():使用手来完成 给出一个具体的足球或篮球,用户自动知道该使用什么方式去执行play() 基于继承的多态:调用方法时根据所给对象的不同选择不同的处理方式 如: 猫和狗都属于动物类,是动物类的对象,继承动物类的“喊叫”方法 猫的喊叫:喵喵 狗的喊叫:汪汪Java程序设计2012春季学期:信管091 信管C091张学民 13河北工业大学管理学院关联(association) 对象之间交互时的一种引用方式 当一个对象通过对另一个对象的引用去使用另一个对象的服务或操作时,两个对象之间便产生了关联 如person使用computer,perso
6、n与computer之间就存在了关联关系Java程序设计2012春季学期:信管091 信管C091张学民 14河北工业大学管理学院聚合(aggregation) 关联关系的一种,一个对象成为另外一个对象的组成部分 是一种关系较强的关联 在两个对象之间存在“has a”这样的关系,一个对象作为另一个对象的属性存在,在外部对象被生产时,可由客户端指定与其关联的内部对象 如汽车与轮胎,轮胎作为汽车的一个组成部分,它和汽车可以分别生产以后装配起来使用,但汽车可以换新轮胎,轮胎也可以卸下来给其它汽车使用Java程序设计2012春季学期:信管091 信管C091张学民 15河北工业大学管理学院组合(com
7、position) 当一个对象包含另一个对象时,外部对象负责管理内部对象的生命周期的情况 关联关系中最为强烈的一种 内部对象的创建由外部对象自己控制 外部对象不存在时,内部对象也不能存在 如电视机与显示器Java程序设计2012春季学期:信管091 信管C091张学民 16河北工业大学管理学院内聚与耦合(cohesion & coupling) 内聚:度量一个类独立完成某项工作的能力 耦合:度量系统内或系统之间依赖关系的复杂度 设计原则:增加内聚,减少耦合Java程序设计2012春季学期:信管091 信管C091张学民 17河北工业大学管理学院类之间关系 关联(Association)
8、 依赖(Dependency) 聚合(Aggregation) 泛化(Generalization)Java程序设计2012春季学期:信管091 信管C091张学民 18河北工业大学管理学院关联(Association)关系Java程序设计2012春季学期:信管091 信管C091张学民 19河北工业大学管理学院依赖(Dependency)关系在BusinessService类中访问Customer类的方法,并且构造Customer类的实例Java程序设计2012春季学期:信管091 信管C091张学民 20河北工业大学管理学院聚合(Aggregation)关系Person类与Hand类之间的
9、聚合关系Java程序设计2012春季学期:信管091 信管C091张学民 21河北工业大学管理学院泛化(Generalization)关系火车机动车汽车三轮车自行车非机动车基类交通工具叶子类单继承Java程序设计2012春季学期:信管091 信管C091张学民 22河北工业大学管理学院面向对象的分析和设计(OOAD) 面向对象的方法按照人类的自然思维的方式,面对客观世界建立软件模型。 充分体现了对复杂系统进行分解、抽象、模块化等思想 OOA依照用户所理解的真实世界中的对象和概念,发现和分析对象的内部构成和外部关系,建立准确而简洁的软件系统的对象模型。 OOD是根据已建立的系统对象模型,运用面向
10、对象技术,进行软件设计。Java程序设计2012春季学期:信管091 信管C091张学民 23河北工业大学管理学院OOAD 优点 在实现的结果和实际问题之间存在一种很接近的匹配关系 促进对象的重用 由于对象的重用成为可能,从而可以减少错误和维护问题 对象的重用还加速了设计和开发的过程 符合人类认知的方式,因为这是我们自然的思考方式 加强数据封装 有助于处理软件开发的复杂性,并帮助生成可修改的、有弹性的软件系统Java程序设计2012春季学期:信管091 信管C091张学民 24河北工业大学管理学院类定义是Java源程序的主要部分 一般的Java源程序文件由以下三部分组成: package语句(
11、0句或1句) import语句(0句或多句) 类定义(1个或多个类定义) package语句表示本程序所属的包。它只能有一个或者没有。如果有,必须放在最前面。如果没有,表示本程序属于默认包。 import语句表示引入其他类的库,便于使用。import语句可以有0或多个,它必须放在类定义的前面。 类定义是Java源程序的主要部分,每个文件中可以定义若干个类。Java程序设计2012春季学期:信管091 信管C091张学民 25河北工业大学管理学院Java程序执行的入口点 一个Java程序中可以有多个类,但只有一个类是主类。主类是Java程序执行的入口点。 在Java Application中,这
12、个主类是指包含main()方法的类。 在Java Applet里,这个主类是一个继承自系统类Applet的子类。Java程序设计2012春季学期:信管091 信管C091张学民 26河北工业大学管理学院UML的由来 UML的全名:unified modeling language(统一建模语言)Unified:UML是一种标准语言,广泛运用于全世界Modelling:UML用途在建模Language:一种建模语言 UML在Rational Software公司的支持下于1994年开始成形。 是Grady Booch,James Rumbaugh,Ivar Jacobson三位从事面向对象方法研
13、究的专家合作研究的成果。 UML标准是OMG协会在1997年制定的。Java程序设计2012春季学期:信管091 信管C091张学民 27河北工业大学管理学院http:/ 信管C091张学民 28河北工业大学管理学院UML 的发展历程Java程序设计2012春季学期:信管091 信管C091张学民 29河北工业大学管理学院UML模型元素UML静态图用例图(Use Case Diagram)类图(Class Diagram)对象图(Object Diagram)构件图(Component Diagram)实施图(Deployment Diagram)UML动态图状态图(State Diagram
14、)顺序图(Sequence Diagram)协作图(Collaboration Diagram)活动图(Activity Diagram)Java程序设计2012春季学期:信管091 信管C091张学民 30河北工业大学管理学院UML图Java程序设计2012春季学期:信管091 信管C091张学民 31河北工业大学管理学院简单Java Applet程序 HelloWorld 分析Java程序设计2012春季学期:信管091 信管C091张学民 32河北工业大学管理学院类HelloWorldJava程序设计2012春季学期:信管091 信管C091张学民 33河北工业大学管理学院类的关系Jav
15、a程序设计2012春季学期:信管091 信管C091张学民 34河北工业大学管理学院用包来组织类Java程序设计2012春季学期:信管091 信管C091张学民 35河北工业大学管理学院http:/ Rational Rose2. XDE3. Borland Together4. MS Visio5. Power Designer6. Visual Paradigm7. With Class 20008. Poseidon9. Jude10.Magic Draw11.Objecteering UML12.System ArchitectJava程序设计2012春季学期:信管091 信管C091
16、张学民 36河北工业大学管理学院http:/ 信管C091张学民 37河北工业大学管理学院http:/ 免费UML建模工具推荐Java程序设计2012春季学期:信管091 信管C091张学民 38河北工业大学管理学院http:/apps.open- 信管C091张学民 39河北工业大学管理学院http:/ 信管C091张学民 40河北工业大学管理学院JUDE (Java and UML Developers Environment) 小巧实用的UML建模软件,不到2M 符合UML建模要求,可以画CLASS,USECASE,STATECHART,ACTIVITY,OBJECT,SEQUENCE,
17、COLLABORATION,COMPONENT和DEPLOYMENT图 可以导入JAVA源文件直接建模,也可以将模型导出成JAVA源文件,HTML和文本格式 完全免费,功能完善,速度快,易操作,易上手Java程序设计2012春季学期:信管091 信管C091张学民 41河北工业大学管理学院http:/jude.change- 信管C091张学民 42河北工业大学管理学院http:/ 信管C091张学民 43河北工业大学管理学院Astah ProductsJava程序设计2012春季学期:信管091 信管C091张学民 44河北工业大学管理学院Astah products feature matrixJava程序设计2012春季学期:信管091 信管C0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广告服务咨询合同范例
- 天津滨海职业学院《卫生检验综合技术》2023-2024学年第一学期期末试卷
- 算法课程设计关于游戏
- 公司设立协议合同范例
- 污水管道强修施工方案
- 好朋友一起开店合同范例
- 他人捐款合同范例
- 劳动合同范例长春
- 房产抵押合同范例范例
- 演员经纪约合同范例
- 无领导小组讨论案例题目及答案分析
- 多学科综合MDT2024年度多学科综合MDT工作总结与计划
- 恶性肿瘤患者的心理护理
- 《现场问题分析》课件
- 北京海淀区2024届高三最后一模语文试题含解析
- 天津市南开区2023-2024学年四年级上学期期末语文试卷
- 数据中心智能运维体系建设
- 2023年计划订单专员年度总结及下一年规划
- 体质测试成绩表(自动统计数据)(小学、初中)
- 2022年全国垃圾分类知识竞赛试题库(附含答案与解析)
- 2024版医院手术安全管理学习培训课件
评论
0/150
提交评论