第1节面向对象概述.ppt

  1. 1、本文档共132页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象概述 课程介绍 为什么学习这门课 性质与目的 课程要求 成绩评定 学习本课程的建议 知识图谱 本章内容 本章重点 1.1 面向对象的基本概念 1.1 面向对象的基本概念 什么是对象 1.1 面向对象的基本概念 面向对象与面向过程的区别 面向对象与面向过程的区别 面向对象与面向过程的区别 面向对象与面向过程的区别 1.1 面向对象的基本概念 对象与类的确定 1.1 面向对象的基本概念 消息和事件 1.2 面向对象的基本特征 抽象(Abstract) 抽象(Abstract) 抽象(Abstract) 封装(Encapsulation) 封装(Encapsulation) 封装(Encapsulation) 继承(Inheritance) 继承(Inheritance) 继承(Inheritance) 多态(Polymorphism) 多态(Polymorphism) 1.3 面向对象方法论 面向对象分析 面向对象分析 面向对象的分析过程 面向对象的分析过程 面向对象的分析过程 面向对象的分析过程 面向对象的分析过程 面向对象分析 面向对象设计 OOD(Object-Oriented Design)——面向对象的设计 面向对象设计 面向对象设计 1.4 面向对象建模 模型是什么 为什么要建模 建模的基本原则 选择什么工具进行建模 统一建模语言UML 以面向对象为基础的开发模式 以面向对象为基础的开发模式 以面向对象为基础的开发模式 以面向对象为基础的开发模式 以面向对象为基础的开发模式 本章小结 作业 面向对象设计原则 从问题开始! 假设要设计一个画图软件,其中涉及到长方形与正方形,那么它们之间的关系如何定义: 假如我们有一个类:长方形(Rectangle) 我们需要一个新的类,正方形(Square) 问:可否直接继承长方形? 开始设计:正方形 设计方案正确吗? 问题? 为什么会出现问题? 面向对象的设计原则 什么是面向对象设计原则? 面向对象设计原则有什么意义? 是指导面向对象设计的基本指导思想 是评价面向对象设计的价值观体系 是设计模式的出发点和归宿 设计目标 设计目标 重用性(Reusability) 可扩展性 (Extensibility) 灵活性 (Flexibility) 可插入性 (Pluggability) …… 保持系统稳定 设计质量:坏的设计 什么是坏的设计? 僵硬性(Rigidity):刚性,难以扩展 脆弱性(Fragility):易碎,难以修改 牢固性(Immobility):无法分解成可移植的组件 不必要的复杂性(Needless Repetition):Ctrl C + Ctrl V 晦涩性(Opacity):不透明,很难看清设计者的真实意图 设计质量:好的设计 什么是好的设计? 容易理解 容易修改和扩展 容易复用 容易实现与应用 简单、紧凑、经济适用 让人工作起来心情愉快的设计 面向对象的一些基本设计原则 LSP:Liskov替换原则 The Liskov Substitution Principle OCP:开放--封闭原则 The Open--Close Principle SRP:单一职责原则 The Single Responsibility Principle ISP:接口隔离原则 The Interface Segregation Principle DIP:依赖倒置原则 The Dependency Inversion Principle FCOI:优先使用组合,而非继承 Favor Composition Over Inheritance …… 1.LSP LSP(The Liskov Substitution Principle, Liskov替换原则) “若对于类型S的任一对象o1,均有类型T的对象o2存在,使得在T定义的所有程序P中,用o1替换o2之后,程序的行为不变,则S是T的子类型” 如果在任何情况下,子类(或子类型)或实现类与基类都是可以互换的,那么继承的使用就是合适的。为了达到这一目标,子类不能添加任何父类没有的附加约束 Barbara Liskov,2008年度美国计算机学会(ACM)图灵奖(Turing Award)获得者。美国国家工程院院士、美国计算机学会会员、以及美国艺术与科学院院士。 换句话说,LSP替换原则就是指任何父类可以出现的地方,子类都可以了出现. “子类对象必须可以替换基类对象” 例如:假设有两个类Base和Derived,且Derived是Base的子类,如果有 method1(Base b) 且 d是Derived的一个对象 那么method1(d)同样成立. 但反过来不成立. 在C+ +中公有派生表达的是ISA的

文档评论(0)

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

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

1亿VIP精品文档

相关文档