网站大量收购独家精品文档,联系QQ:2885784924

第1章面向对象方法概论重点.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* *学籍与伙食系统的学生 *自动售货机,ATM * * * * * * * * * * * * * (1)对需求的认识是正确的?(2)保证对正确的需求认识一定编程正确?(3)协作问题(4)时间与成本问题(5)认帐问题 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 分类需要使用抽象原则。对类的解释,分类是在OO中对抽象原则的应用 两次抽象得到两个分类:(1)德智体的学生为本科生(分类或归类);(2)入校生分牌桥队、田径队、舞蹈队等 * * * * * * * 主动对象:上课的教师、提问的学生 * 例: 汽 车 发动机 1 4..6 0….1 0..1 车 轮 公 司 0..* 0..* 法律顾问 * 关联: 类之间的静态联系称作关联。 在实例化后,由类产生对象,由关联产生连接对象的链。 链是关联的实例。 关联的表示符号也称作实例连接 城市 0..* 0..* 有航线 城市之间有航线 教 师 学 生 0..* 1 指导论文 教师为学生指导论文 例: * 其他: 永久对象:可以在程序运行后继续保存的对象 时间 空间 意义 实现途径:语言,OO-DBMS 主动对象:表示进程或线程的对象。 描述具有主动行为的事物 描述并发执行的任务 * (1)抽象 从事物中舍弃个别的非本质的特征,而抽取共同的、本质特征的做法叫抽象。例如,一个现实事物,可能担任很多角色,只有与问题域有关的角色,才予以考虑*。 在不同的高度看待或解决问题。 OO中应用: 过程抽象:任何一个完成确定功能的操作序列,其使用者都可把它看作一个单一的实体,尽管实际上它可能是由一系列更低级的操作完成的。 数据抽象:根据施加于数据之上的操作来定义数据类型,并限定数据的值只能由这些操作来修改和观察。 客观事物-对象-类-一般类 不同开发阶段需要进行不同程度的抽象 * 便于实现模块的可替换性 1.3.2面向对象中的基本原则 * (2)封装:把对象的属性和操作结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。只是向外部提供接口,降低了对象间的耦合度。 售报亭 属 性 服 务 报刊A 报刊B … 钱箱 报刊零售 款货清点 顾 客 封装的重要意义: 使对象能够集中而完整地描述并对应一个具体事物。 体现了事物的相对独立性,使对象外部不能随意存取对象的内部数据,避免了外部错误对它的“交插感染”。 对象的内部的修改对外部的影响很小,减少了修改引起的“波动效应”。 公开静态的、不变的操作,而把动态的、易变的操作隐藏起来。 封装带来的问题: 编程的麻烦 执行效率的损失 解决办法: 不强调严格封装, 实行可见性控制。 (混合型OOPL) 例如: C++ 由封装机制保证:数据不能被对象的使用者直接访问。只允许通过由对象提供的方法或代码访问数据。 * 信息隐蔽 对象的操作定义了其他的对象怎样获得对其的访问。每一个对象都将提供给所有对象的公共操作公开化。它也提供仅局限于特定对象的其它的操作(受保护的和私有的)。 其他的对象对被请求的对象怎样提供操作(代码,内部数据)没有感知。 操作 操作 操作 操作 …… 属性集 * (3)委托 借助消息传递,工作可从一个对象(客户)传递到另一个对象(代理),因为从客户的观点,代理具有客户所需要的操作。工作连续地传递,直到到达了既有数据又有方法(代码)能完成这项工作的对象。 例如:建造一所办公楼 董事会-总经理-建筑公司 注意:委托是执行任务的权利,而不是责任。 * (4)分类 把具有共同性质的事物划分为一类,得出一个抽象的概念。 分类帮助我们组织我们所生活的复杂世界。我们可以对在一个特殊分类中的对象做一些假设。如果一个对象是分类(类)的一个实例,它将符合该分类的总体模式。 分类:对象-类- 一般类 类/对象 .所有的对象都是类的实例。实例能够在运行时被产生(初始化)或销毁(删除)。 对象怎样提供操作,由该对象为其实例的类所决定。这样,同一个类的所有对象在响应特定的操作请求(功能调用)时使用相同的方法。 * (5)泛化 (继承) 无多态性的泛化.类可以由层次继承结构所组织。在该结构中,子类将从位于层次结构高层的父类中继承属性、操作和关系。 抽象的父类是指仅用来定义子类的超类。这样,抽象类就没有直接的实例。 有多态的泛化.可以使用层次继承结构组织类,子类可以继承位于层次结构的高层的父类的属性、操

您可能关注的文档

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档