- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * 公式 * * * 的根本面向对象特征,是面向对象之所以称其为面向对象的原因所在 多态:在同一副外表下表现出多种行为模式的能力 内容安排 从结构化到面向对象 对象技术概述 对象和类 对象技术相关原则 上升到面向对象 对象技术相关原则 对象技术基本原则 抽象(Abstraction) 封装(Encapsulation) 泛化(Generalization) 多态(Polymorphism) …… 抽象性-Abstraction? 抽象是区分当前实体与其它种类实体的本质特征;相对观察者的视角,提供了清晰定义的概念边界。 模型应该包含事物最重要的、本质的特征,而忽略次要的和不重要的细节。 BriefCase - Capacity - Weight + open() + close() 抽象的示例 一个项目的抽象依赖于定义抽象的上下文 封装性-encapsulation 封装是软件模块化思想的体现,也是面向对象的根本之一; 通过封装设计、生产的软件,软件易于被使用而不用关心该软件是如何工作的细节,也被称为信息隐藏。 类比 驾驶汽车时,你不必要知道发动机的缸数、汽油和空气是如何混合和点火等细节. 但你必须要知道如何控制汽车. 封装性-Encapsulation 对客户端隐藏实现 客户依赖于接口。 封装性-信息隐藏 Professor Clark 需要在下学期教授4门课程. SubmitFinalGrades() AcceptCourseOffering() TakeSabbatical() Professor Clark SetMaxLoad() Name: J Clark Employee ID: 567138 HireDate: 07/25/1991 Status: Tenured Discipline: Finance MaxLoad:4 SetMaxLoad(4) 封装性-信息隐藏 Interface 实现细节对用户是不可见的 不能被客户访问的细节. Client Deposit() Withdraw() Transfer() Balance insterestYTD Owner Account_number Deposit() {…} Withdraw() {…} Transfer() {…} 泛化 泛化是类与类之间一种关系 通过这种关系一个类可以共享另外一个或多个类的结构和行为 为了实现泛化关系,采用继承机制 子类继承一个或多个父类,从而实现了不同的抽象层次 通过这种关系可以很容易地复用已经存在的数据和代码,并实现多态处理 根据父类的个数不同,存在着单一继承和多重继承两种情况 范例:单一继承 一个类继承自另一个类 Checking Savings Superclass (parent) Subclasses Inheritance Relationship Ancestor Descendents 范例:多重继承 一个类可以继承自其它多个类 只在必要时才使用多继承,要谨慎使用! 多态 多态在同一外表(接口)下表现出多种行为的能力 是对象技术的根本特征 对象技术正是利用多态提供的动态行为特征,来封装变化,适应变更,以达到系统的稳定 单一接口 隐藏单一接口背后的不同实现的能力和机制 应用多态性 Shape抽象类,定义draw接口,Rectangle和Circle类继承自Shape,实现各自的draw方法。 应用多态性 假设我们有一个数组sharr,里面放着一排Shape,但是不知道哪些是Rectangle,哪些是Circle。利用多态性,我们可以: for (int i = 0; i sharr.length; ++i) { Shape shape = (Shape)sharr[i]; shape.draw(); } 遍历整个数组的过程中,各个Shape自己知道应当如何在画布上绘制自己。shape.draw()这同一行代码在shape指向不同的对象时表现出不同的行为,这就是所谓多态性 内容安排 从结构化到面向对象 对象技术概述 对象和类 对象技术相关原则 上升到面向对象 对象思维分析问题 昨天我的一个朋友结婚了 问题分析-1 A. 这里面有什么东西? 月老,小伙,姑娘,恋人,玫瑰花 B. 每个东西看上去是什么样的? 月老,看上去有些年纪了,挺热心的 小伙,看上去很强壮,很诚实的 姑娘,看上去好漂亮,还很温柔 恋人,看上去很黏糊,当然就结婚了 玫瑰花,火红火红的,难怪姑娘动情了 问题分析-2 C. 每个东西能做点什么用? 月老:牵线搭桥,介绍认识 小伙:追求献花,表达爱意 姑娘:仰慕倾情,以身相许 恋人:拍拖,…,结婚 玫瑰花:令姑娘头晕,传情示爱 问题分析-3 D. 这些东西都呆
您可能关注的文档
最近下载
- 发育生物学教学课件08-1 原肠作用.ppt VIP
- 【中考真题】2025年安徽省中考数学试题(含解析).docx VIP
- 2025年职业资格大学辅导员笔试-笔试参考题库含答案解析(5套试卷).docx VIP
- 一种电池模组手动入箱定位及导向机构.pdf VIP
- 边立新:《路德维希·费尔巴哈和德国古典哲学的终结》导读.ppt VIP
- 纳米氢氧化镁晶须的制备及其分散性研究.docx VIP
- 肥厚型心肌病护理查房.pptx VIP
- 2025年内河码头行业现状分析报告及未来五至十年发展前景预测报告.docx
- 领导德性量表的编制.docx VIP
- 石化受限空间作业标准化管理方案-图文并茂版.pptx VIP
文档评论(0)