- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象复习资料1
什么是面向对象(Object-Oriented)
面向对象不仅是一些具体的软件开发技术与策略,而且是一整套关于如何看待软件系统与现实世界的关系,以什么观点来研究问题并进行求解,以及如何进行系统构造的软件方法学。
面向对象方法的基本思想是:从现实世界中客观存在的事物(对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。
面向对象方法有如下一些主要特点:
从问题域中客观存在的事物出发来构造软件系统,用对象作为对这些事物的抽象表示,并以此作为系统的基本构成单位。
事物的静态特征(即可用一些数据来表达特征)用对象的属性表示;事物的动态特征(即事物的行为)用对象的服务(操作)表示。
对象的属性与操作结合为一体,成为一个独立的实体,对外屏蔽内部细节(称作封装)
对事物进行分类。把具体有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例。
通过不同程度上运用抽象的原则(较多或较少的忽略事物之间的差异)可以得到一般的类和较特殊的类。特殊类继承一般类的属性和操作,面向对象方法支持这种继承关系的描述和实现,从而简化系统的构造过程及其文档。
复杂的对象可以用简单的对象作为其构成部分(称作聚合)
对象之间通过消息进行通信,以实现对象之间的动态联系。
通过关联表达对象之间的静态关系
面向对象的方法是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系统的软件开发方法。
1.对象
(1)从概念层面讲,对象是某种拥有责任的抽象。
(2)从规格层面讲,对象是一系列可以被其他对象使用的公共接口。
(3)从语言实现层面讲,对象封装了代码和数据。
2.软件开发中的经典阶段:需求、分析、设计、规范、实现、测试、部署、维护。
3.设计7原则:开闭原则、里氏代换原则、依赖倒转原则、合成/聚合复用原则、
迪米特原则、接口隔离原则、单一职责原则。
4.面向对象的方法学:UML(统一建模语言)、RUP(统一软件开发过程)、XP(极限编程)。
开发方法:Booch、Coad、OMT、UML、OOSE、Wirfs—Brock
5.OOA——运用???向对象方法进行需求分析。
OOD——运用面向对象方法进行系统设计。
OOP——运用面向对象方法进行程序设计。
6.OOA的基本任务:是运用面向对象的方法,对问题域和系统责任进行分析和理解,对其中的事物和它们之间的关系产生正确的认识,找出描述问题域及系统责任所需的类及对象,定义这些类和对象的属性和操作,以及它们之间所形成的结构、静态联系和动态联系。
最终目的:是产生一个符合用户需求,并能够直接反映问题域和系统责任的OOA模型及其详细说明。
优点:(1)加强了对问题域和系统责任的理解。(2)改进与分析有关的各类人员之间的交流。(3)对需求的变化具有较强的适应性。(4)支持软件复用。
OOA的三大策略是:属性策略、方法策略、对象策略。
7.(1)封装:是指对象在其操作中隐藏属性。它是一种信息隐蔽技术,用户只能看见对象封装界面上的信息,对象的内部实现对用户是隐蔽的。封装的目的是使对象的使用者和生产者分开,使对象的定义和实现分开。
例如:要从同事那里借钱,在商店购买食物,就不会抢夺同事的钱包,大翻一通,看看里面是否有足够的钱。而应该询问他们是否可以借你一些钱,他们就会自己翻钱包。
以表示圆的一个对象作为封装的例子。圆的操作应能计算出半径、直径、周长和面积。假定选择存储直径,要访问直径的程序员都会选择存储直径属性,而不是通过“获取直径”的操作来访问。如果在软件的后续版本中要存储的是半径,就必须找出系统中直接访问直径的所有代码,并更正它们,有了封装,就不会有问题。
(2)继承:可以指定类从父类中获取一些特性,再添加它自己的独特特性。继承是类间的基本关系,它是基于层次关系的不同类共享数据和操作的一种机制。父类中定义了其所有子类的公共属性和操作,在子类中除了定义自己特有的属性和操作外,可以继承父类的属性和操作,也可以对父类中的操作重新定义其实现方法。
例如:在面向对象中,我们可以把洗衣机、电冰箱、微波炉、收音机看成是家用电气类的子类,也可以说家用电器类是这些类的超类。家用电器类具有的属性OnOffSwitch和electricWire,具有turnOn()和turnOff()操作。因此,如果你知道某物是家用电器,那么就会立即知道它具有家用电器类的属性和操作,这种关系就是继承。每个家用电器类的子类都继承了家用电器类的特征。同时,每个子类都增加了自己的属性和操作。
(3)多态:是指同一操作作用于不同的对象上可以有不同的解释,并产生不同的执行结果。例如:“画”操作,作用在“矩形”对象上,则在屏幕上画一个矩形;作用在“圆”对象上,
则在屏幕上画一个圆。也就是说,相同操作的消息发送给不同对象
您可能关注的文档
- 雪铁龙C5汽车改装金属中网安装教程.doc
- 雨果VIP会员积分管理31加密锁版操作手册.doc
- 零件如何转换成构件.doc
- 零件的数控加工及编程开题报告.doc
- 零件参数设计1997建模A题.doc
- 雨施方案技术交底.doc
- 零售业务方案设计张磊.doc
- 零售企业税收筹划研究以华润万家公司为例开题2000字.doc
- 雪荷载翻译.doc
- 零售业员工管理与培训.doc
- MTCNet-运动和拓扑一致性引导的 4D 超声二尖瓣分割学习-计算机科学-机器学习-医学图像分割.pdf
- 推理混合-教大型语言模型使用自适应策略进行推理-计算机科学-人工智能-大语言模型-推理.pdf
- 通过信息几何和量子度量重新思考大语言模型训练-计算机科学-大语言模型-模型训练.pdf
- 增强基于大语言模型的量子代码生成与多智能体优化和量子纠错-计算机科学-量子计算-多智能体-大语言模型.pdf
- 非刚性运动校正通过粗到细扩散模型进行 MRI 重建-计算机科学-扩散模型-磁共振成像.pdf
- 模块化软穿戴手套用于实时手势识别和动态三维形状重建-计算机科学-人机交互-动态重建.pdf
- 高级打印传感器在环境应用中的发展-走向可持续监测解决方案-计算机科学-机器学习-打印传感器-环境监测.pdf
- 抓握力-AGeneralRoboticIncrementalPotential 接触模拟数据集用于统一可变形刚体耦合抓取-计算机科学-人工智能-机器人.pdf
- 欧几里得不变量在位置-定向对之间的通用集合-计算机科学-机器学习-神经网络-算法.pdf
- 决策导向的文本评估-计算机科学-大语言模型-自然语言生成.pdf
文档评论(0)