首页计算机计算机软件面向对象软件工程 02 第二讲 OO技术概论.pptx

02 第二讲 OO技术概论.pptx

页数:12页文件大小:167.8 KB来源: 面向对象软件工程ppt课件

本课件系统讲解面向对象技术的基本概念,先给出对象、类、操作、属性、消息、继承与聚集的定义并说明采用面向对象方法的理由,随后依次展开对象与类的构成、消息与方法、单重与多重继承、重载与重设、编译时与运行时多态,最后梳理OO技术的历史演进、现状与未来方向。

第二章OO技术概论目录页,列出对象与类、消息与方法、继承、多态及OO技术发展六节
面向对象基本概念定义页,给出对象、类、操作、属性、消息、继承与聚集七项术语解释
面向对象方法应用理由页,说明其顺应人类思维习惯并支持增量式开发与软件重用
查看本课件的文字版(共 12 页,供检索与复制)

第1页:第二章OO技术概论目录

第二章 OO 技术概论:

  • §2.1 OO:What & Why
  • §2.2 对象与类
  • §2.3 消息与方法
  • §2.4 继承
  • §2.5 多态
  • §2.6 OO 技术的历史、现状、未来

第2页:OO的基本概念

§2.1 OO:What & Why —— 1. What:

对象
现实世界中个体或事物的抽象表示,是属性和相关操作的封装
类
某些对象的共同特征(属性和操作)的表示
操作
对象可以展现的外部服务
属性
对象的性质,属性值规定对象所有可能的状态
消息
消息传递是对象与外部世界关联的唯一途径
继承
现实世界中遗传关系的直接模拟,表示类之间的内在联系以及对属性和操作的共享
聚集
部分类的对象是整体类对象的组成部分

第3页:为什么要采用OO方法

§2.1 OO:What & Why —— 2. Why:

  • 顺应人类思维习惯,让软件开发人员在解空间中直接模拟问题空间中的对象及其行为
  • 支持增量式开发,支持大型软件开发
  • 支持软件重用
  • 改善软件结构(模块化与封装),提高软件灵活性

第4页:对象的构成

§2.2 对象与类 —— 1. 对象:

  • 对象=名字+属性集+方法集+消息集
  • 对象的外部接口=公有属性集+方法集+消息集
  • 对象的状态=对象属性取值的集合
  • 对象接收消息后执行某些方法

第5页:类的定义与作用

§2.2 对象与类 —— 2. 类:

  • 类是某些对象共同特征的表示
  • 类的所有实例(对象)具有相同的属性名称及类型、相同的方法、相同的消息响应方式
  • 类描述对象的属性名及类型、对象方法的实现途径
  • 类是创建对象的模板,对象是类的实例

第6页:消息与方法

§2.3 消息与方法:

  • 对象接收消息后执行某些方法,以便:获取对象状态、改变对象状态、完成某项计算或控制功能
  • 消息传递是对象与外部世界关联的唯一途径
  • 为实现的方便与效率计,通常将消息合并至方法中

第7页:继承机制

§2.4 继承:

  • 单重继承:子类仅从一个父类继承属性和方法,子类可以覆盖父类的部分属性和方法
  • 多重继承:子类可从多个父类继承属性和方法
  • 继承机制的意义:避免冗余,简化类或对象之间的接口;支持软件重用

第8页:重载与重设

§2.5 多态:

重载(Overloading)
相同的函数名称,属于不同的类或由不同的参数类型,而导致不同的功能或行为
重设(Overriding)
子类覆盖父类的方法

第9页:编译时多态与运行时多态

§2.5 多态 —— 3. 多态(Polymorphism):

编译时多态
由编译器决定函数名与函数体的联编(Binding)
运行时多态
在运行时刻动态决定函数名与函数体的联编;相同的消息由同一(父)类的不同对象接收时,导致不同的行为

第10页:OO技术的历史

§2.6 OO 技术的历史、现状、未来 —— 1. 历史:

  • 60 年代末:Simula 67
  • 80 年代初:Smalltalk
  • 80 年代中:OOP、OOD 和 OOA 进入软件开发实践,出现 C++、Booch 方法、OOA/OOD、OOSE、OMT
  • 90 年代:OOP、OOD 和 OOA 获得广泛应用

第11页:OO技术的现状与未来

§2.6 OO 技术的历史、现状、未来:

  • 现状:OOP、OOD 和 OOA 成为最重要的软件开发方法,Java 与 UML 得到广泛应用
  • 未来:OO 的形式化与自动化;OO 在分布计算、数据库、系统软件等领域大显身手;OO 构件的丰富将进一步提高软件开发的效率和质量
  • 软件开发人员必须从 Think Procedurely 转变为 Think Object-Orientedly

第12页:本章小结

本章小结:

  • 面向对象=对象+类+继承+消息+多态
  • 面向对象是提高软件开发的效率和质量的有效手段
顶部目录