- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
uml-理解面向对象
UML统一建模语音 计算机系 孙杰 理解面向对象 本章内容 1.面向对象程序设计 2.几个基本概念 3.再说类和对象 4.组合和继承 2.1面向对象程序设计 面向对象程序设计的产生背景: 审视问题域的视角 抽象级别 封装体 可重用性 2.1面向对象程序设计 面向对象程序设计方法是指用面向对象的方法指导程序设计、分析和开发的整个过程; 面向对象是指以对象为中心,分析、设计及构造应用程序的思想和原理。 面向对象程序设计应该具有的特征 所有待处理的内容都表示成对象; 对象间依靠相互发送消息或响应消息实现通信; 每个对象都有自己的惟一标识,以便区别属于同一个类的不同对象; 对象一定属于某个类,我们又将这个对象称为所属类的一个实例; 类是将具有共同属性的对象进行抽象的结果,它可以具有层次关系,即一个类既可以通过继承其他类而来,也可以被其他类继承。 以“我”为中心 “面向过程”的编程方法基本的编程方式如下:一切以“我”为中心考虑问题:要做某件事情,第一步要做A、A做完后要做B事情、如果B不成功那么我做C,否则我做D......等等。在这个过程中,把重复出现的一些步骤(完成了更高层概念的事情)包装在一起当作一个整体使用,称之为“函数”(这是一个层层包装递归的东西,直至最底层的机器指令);把逻辑上相关的一下数据(代表了更高层概念的事物)包装在一起当作一个整体使用,称之为“结构”(这也是一个层层包装递归的东西,直至最底层的存储器)。 以“谁”为中心 “面向对象”的编程方法(即OO思想)打破了以“我”为中心考虑问题的习惯:要做某件事情,首先考虑应该由“谁”来做,或者说做这件事情是“谁”的责任(“谁”来负责这件事情),接着考虑“谁”应该和“谁”协作来完成更高层概念的事情。指定由“谁”来做这件事情的时候不必考虑他是如何做的(即如何实现的),只知道他负责这件事情能得到需要的结果就行了。而这个“谁”就称之为“对象”,所谓的“对象”就是负有责任的东西。而“对象”在实现自己负责的事情时也可以做同样的考虑(应该由“谁”来做;“谁”应该和“谁”协作来完成),这个过程也是一个层层递归的过程,直到最后总是由逃脱不了责任的对象简单地亲自操作一下)。 面向过程程序 =过程+过程调用 2.2 几个基本概念 抽象 封装 对象 类 消息 继承 多态性 抽象 —— 抽象是解决任何问题所采用的基本策略,是人类认识世界的本能方式。所谓抽象是指从许多事物中,舍弃个别的、非本质的属性,抽取出共同的、本质的属性的过程,它是形成概念的必要手段。 抽象主要包括过程抽象和数据抽象两个部分。所谓过程抽象是指功能抽象,即舍弃个别的功能,抽取共同拥有的功能, 数据抽象是一种更高级别的抽象方法,它将现实世界中存在的客体作为抽象单元,其抽象内容既包括客体的属性特征,也包括行为特征,它是面向对象程序设计所采用的核心方法。模块化和信息隐蔽(封装)是数据抽象过程的两个主要概念。 封装—— 封装是指将现实世界中某个客体的属性与行为聚集在一个逻辑单元内部的机制。利用这种机制可以将属性信息隐藏起来,外界只能够通过提供的特定行为接口改变或获取其属性状态。在面向对象的程序设计中,封装是指将对象的属性和行为分别用数据结构和方法描述,并将它们绑定在一起形成一个可供访问的基本逻辑单元。 封装的意义 封装的用意,是避免数据成员被不正当的存取,以达到信息隐藏(information hiding)的效果,避免错误的存取发生。封装相关的变量及方法到一个软件包里,是一个简单但却很有能力的理念,此法对软件开发者提供了两个主要的好处: 1.模块化(modularity):一个对象的原始文件可以独立地被撰写及维护而不影响其他对象。而且对象可以轻易地在系统中来回地传递使用。就好像你借车给朋友,而它仍能正常地运作一样 。 2.信息隐藏(information hiding):一个对象有一个公开的接口可供其他的对象与之沟通,但对象仍然维持私有的信息及方法,这些信息及方法可以在任何时间被修改,而不影响那些依赖此对象的其他对象。 对象—— 对象是用来描述现实世界中客体的部件,是面向对象软件系统在运行时刻的基本单位。为了区分属于同一个类的不同对象,每个对象都有一个惟一的标识。 对象应该具有下面5个基本特性: 自主性,指对象具有一定的独立操作能力; 封装性,指对象具有信息隐蔽的能力; 通信性,指对象具有与其他对象通信的能力; 被动性,指对象的状态转换需由外界刺激引发; 暂存性,指对象的动态创建与消亡。 类—— 类是一组具有相同属性特征的对象的抽象描述,是面向对象程序设计的核心概念。 类是对象抽象的结果。有了类,对象就是类的具体化,是类的实例。类可以有子类,同样也可以有父类,从而构成类的层次结构。 类之
您可能关注的文档
- PS曲线使用.doc
- PS滤镜效果(二).doc
- ps知识点个人总结3.doc
- PS风景照片增加雪中美景.doc
- PS服装面料表现.ppt
- PTA 期货投资报告.doc
- ps与ai 结合打造音乐海报2.doc
- PVC、PE 等塑料电线电缆押出机的简单介绍.doc
- PTT-演讲与表达技巧(NXPowerLite).ppt
- PS后期影楼流行色之个性色与淡雅红色.doc
- 数据仓库:Redshift:Redshift与BI工具集成.docx
- 数据仓库:Redshift:数据仓库原理与设计.docx
- 数据仓库:Snowflake:数据仓库成本控制与Snowflake定价策略.docx
- 大数据基础:大数据概述:大数据处理框架MapReduce.docx
- 实时计算:GoogleDataflow服务架构解析.docx
- 分布式存储系统:HDFS与MapReduce集成教程.docx
- 实时计算:Azure Stream Analytics:数据流窗口与聚合操作.docx
- 实时计算:Kafka Streams:Kafka Streams架构与原理.docx
- 实时计算:Kafka Streams:Kafka Streams连接器开发与使用.docx
- 数据仓库:BigQuery:BigQuery数据分区与索引优化.docx
最近下载
- 2024-2025学年初中信息科技冀教版2024七年级全一册-冀教版2024教学设计合集.docx
- 重大危险源管控措施及方案.doc VIP
- 十三辙《韵辙表》——合辙押韵必备.pdf VIP
- 2024年凉山州越西县卫生健康局聘用村卫生室村医笔试真题.docx VIP
- 生产与运作分析第七版史蒂文·纳米亚斯习题答案第6章.docx VIP
- 数字逻辑与数字系统朱正东习题答案.pdf VIP
- 冀教版英语九年级上册课堂同步练习试题及答案(全册).pdf VIP
- 烟雾病讲解课件.ppt
- 生产与运作分析第七版史蒂文·纳米亚斯习题答案第5章.docx VIP
- 以病例分析为主导的营养诊疗示范题库答案-2025年华医网继续教育答案.docx VIP
文档评论(0)