




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ZblcqsxxyZblcqsxxy2Zblcqsxxy3Zblcqsxxy4Zblcqsxxy5ZblcqsxxyZblcqsxxy7Zblcqsxxy8Zblcqsxxy9Zblcqsxxy10class Treeclass TreeTree aTree = new Tree();Tree aTree = new Tree();Zblcqsxxy11Zblcqsxxy12属性 brandNamemodelNameserialNamecapacityZblcqsxxy13属性 brandNamemodelNameserialNamecapacitytrapmotormotorSpeedZbl
2、cqsxxy14?1.从许多事物中舍弃个别的、非本质的特征,抽取共同的、本质性的特征; 2.过滤掉对象的一部分特征和操作直到只剩下你所需要的属性和操作。Zblcqsxxy15Zblcqsxxy16Zblcqsxxy2009-0917封装可以提高重用性,封装可以提高重用性,并且让程序易于维护并且让程序易于维护Zblcqsxxy18StarFactoryStarFactoryString build()String build()ChunXiao3【代码代码】StarFactory.javaStarFactory.java Chunxiao3.java Chunxiao3.javaZblcqsxx
3、y19StarFactoryStarFactoryString build()String build()ChunXiao3JingYeSi【代码】 JingYeSi.javaZblcqsxxy20对象之间通过消息进行对象之间通过消息进行通信。通信。Zblcqsxxy21在客观世界中,类是有在客观世界中,类是有着层次关系的,那么程着层次关系的,那么程序世界中,也要能够表序世界中,也要能够表现这种层次。于是,有现这种层次。于是,有了继承。了继承。Zblcqsxxy22Zblcqsxxy23Zblcqsxxy24Zblcqsxxy25Zblcqsxxy26Zblcqsxxy27单向关联在现实世界中
4、,对象之间通常会发生在现实世界中,对象之间通常会发生某种联系,程序世界中用某种联系,程序世界中用“关联关联”来来表示。表示。Zblcqsxxy28对象之间还可以以多种方式发生关联对象之间还可以以多种方式发生关联Zblcqsxxy29类也可以发生关联:一个类可以和多个类关联类也可以发生关联:一个类可以和多个类关联Zblcqsxxy30Zblcqsxxy31计算机系统计算机系统计算机由许多不同计算机由许多不同类型的构件组成,类型的构件组成,它是一个聚集体。它是一个聚集体。聚集是对象之间的另外一种聚集是对象之间的另外一种关联,表示类之间是整体与关联,表示类之间是整体与部分的关系部分的关系Zblcqs
5、xxy32聚集对象和它的组成对象之间有强关联时,聚集对象和它的组成对象之间有强关联时,我们把这种聚集叫做组成。我们把这种聚集叫做组成。在组成关系中,整体拥有个部分,部分与整在组成关系中,整体拥有个部分,部分与整体共存。体共存。Zblcqsxxy33Zblcqsxxy34Zblcqsxxy35* 春晓* 春眠不觉晓,* 处处闻啼鸟。* 夜来风雨声,* 花落知多少。Zblcqsxxy36很简单,但是有时候并不是越简单越好!现在,如果想把*改变为*,该怎么办?改5次吗? 【代码代码】 Chunxiao1.java Chunxiao1.javaZblcqsxxy37利用方法buildStar()来产生
6、,这样每次只用修改一个地方了。我们把产生的功能封装封装了起来,对外界使用者来讲,不需要知道方法内部的细节,只需要知道调用这个方法可以产生就行了。【代码】 Chunxiao2.javaZblcqsxxy38StarFactory2StarFactory2String build(int i)String build(int i)ChunXiao4【代码】StarFactory2.java Chunxiao4.javaZblcqsxxy39StarFactoryStarFactoryString build()String build()ChunXiao3【代码】StarFactory.java
7、Chunxiao3.javaZblcqsxxy40StarFactoryStarFactoryString build()String build()ChunXiao3JingYeSi【代码】 JingYeSi.javaZblcqsxxy41Zblcqsxxy42StarFactoryStarFactoryString build()String build()GraphicFactoryGraphicFactoryString build()String build()PentacleFactoryPentacleFactoryString build()String build()Squa
8、reFactorySquareFactoryString build()String build()DiamondFactoryDiamondFactoryString build()String build()所有的子类都有build()方法,代表创造不同图形的操作创造*创造创造创造Zblcqsxxy43【代码】GraphicFactory.java StarFactory.java DiamondFactory.java PentacleFactory.java Chunxiao5.javaZblcqsxxy44StarFactoryStarFactoryString build()Str
9、ing build()GraphicFactoryGraphicFactoryString build()String build()PentacleFactoryPentacleFactoryString build()String build()SquareFactorySquareFactoryString build()String build()DiamondFactoryDiamondFactoryString build()String build()Zblcqsxxy45Zblcqsxxy46开发软件的开发软件的方法不同方法不同Zblcqsxxy47Zblcqsxxy48例:银
10、行账户Zblcqsxxy49Zblcqsxxy50Zblcqsxxy51Zblcqsxxy52形成概念的必需手段抽取关心的抽取共同的过程抽象数据抽象信息隐蔽使模型更简练、清晰抽象的表现形式复杂问题简单化事物间的联系对象间的动态联系Zblcqsxxy53Zblcqsxxy541.识别潜在对象2.筛选对象识别与当前问题相关的属性1. 提取外部服务2. 标识消息传递标识所属的类并建立类之间的关系Zblcqsxxy55Zblcqsxxy56通过抽象,得到类和对象。内聚指的是对象内部信息关联的程度,尽可能让对象内部关联程度高。操作内聚类内聚一般具体内聚不同对象之间相互关联的紧密程度叫做耦合度。低耦合就是
11、指,使对象之间的关联程度低利用封装,将对象某些信息隐藏起来。利用类和对象将数据结构和操作紧密的结合在一起,形成尽可能独立的模块Zblcqsxxy57Zblcqsxxy58Zblcqsxxy59Zblcqsxxy60Zblcqsxxy请思考以下问题: 什么是UML? 为什么需要建模? UML的结构中包括哪些内容? UML中主要有哪些图?用于静态建模的有哪几种图?用于动态建模的有哪几种图?ZblcqsxxyZblcqsxxy63用户开发者管理者用户知识领域知识现实世界经验一般需求问题陈述建模对象模型功能模型动态模型Zblcqsxxy64Zblcqsxxy65ATMATMATM中央计算机柜员终端分行
12、计算机分行计算机账户账户账户账户Zblcqsxxy66Zblcqsxxy67Zblcqsxxy68Zblcqsxxy69Zblcqsxxy70Zblcqsxxy71选取名词消除假的类需求说明暂定的类类Zblcqsxxy72Zblcqsxxy73Zblcqsxxy74Zblcqsxxy75Zblcqsxxy76Zblcqsxxy77Zblcqsxxy78Zblcqsxxy79Zblcqsxxy80Zblcqsxxy81Zblcqsxxy82Zblcqsxxy83Zblcqsxxy84Zblcqsxxy85 : 储户 : ATM : 总行 : 分行1: 插入卡2: 请求输入密码3: 输入密码4: 请求总行验证帐户5: 请求分行验证用户6: 帐户有效7: 帐户有效8: 要求事务类型9: 输入类型:取款10: 要求输入取款金额11: 输入取款金额12: 请求处理取款事务13: 请求分行处理取款事务14: 分行事务成功15: 事务成功16: 吐出现金17: 请求拿走现金18: 拿走现金19: 请求继续事务选择20: 结束21: 打印凭据22: 退卡23: 请求拿走卡24: 拿走卡25: 显示主屏幕Zblcqsxxy86Zblcqsxxy87储户插卡登录取款转账查询事务操作总行验证帐户有效性分行事务处理Zblcqsxxy88Zblcqsxxy89Zb
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云南中医药大学《船舶强度与结构设计》2023-2024学年第二学期期末试卷
- 郑州城建职业学院《成衣生产纸样》2023-2024学年第二学期期末试卷
- 2024秋新外研版英语一年级上册教学课件 Module 8 Unit 1
- 2024秋新教科版物理八年级上册教学课件 4.5.1 认识透镜
- 2024年河北省高考物化生+政史地试卷(真题+答案)
- 小满节气营销策略
- 五年级学习指南
- 太阳系的神秘之旅
- 钢筋的拉伸试验65课件
- 专利培训试题及答案
- 高压氧治疗注意事项及操作规范指南
- 职业中等专业学校新能源汽车运用与维修专业人才培养方案
- 圆锥式破碎机施工方案
- 中职英语技能大赛模拟试题(一)
- 《隧道工程》复习考试题库(带答案)
- 自来水厂调试方案
- 高速铁路-轨道控制网CPIII测量课件
- 全过程造价咨询投资控制目标承诺及保证措施
- 第七版外科护理学-骨折病人的护理课件
- 三级医院危重症和疑难复杂疾病目
- 分数的加法和减法教材分析课件
评论
0/150
提交评论