三、面向对象设计

一、基本概念

对象   类    继承    封装    消息    多态性
  • 对象(Object) 有意义的一切事物都是对象
    • 它是系统用来描述客观事物的一个实体,是构成系统的一个基本单位。
    • 对象包括:对象名、属性(静态特征)和方法(动态特征)
    • 对象之间通过消息进行通信。
  • 类(Class)
    • 具有相同属性和相同操作的对象的集合
    • 对象是类的实例,没有实例的类称为抽象类
  • 继承(Inheritance)
    • 它使子类可以继承父类的属性和方法
    • 继承增加了软件复用的机会
  • 单一继承与多重继承
  • 封装(Encapsulation)
    • 就是把对象的属性和方法结合成一个独立的系统单位, 并尽可能隐蔽对象的内部细节。
  • 封装使对象具有2个部分:接口部分和实现部分
  • 多态(polymorphism)
    • 指同一个操作作用于不同的对象时可以有不同的解释, 并产生不同的执行结果。
  • 多态分两种:
    • 通用多态
    • 特定多态

通用多态又分为参数多态和包含多态

  • 参数多态:采用参数化模板,通过给出不同的类型参数, 使得一个结构有多种类型。
  • 包含多态:同样的操作可用于一个类型及其子类型。(注 意是子类型,不是子类。)包含多态一般需要进行运行时 的类型检查。

特定多态分为强制多态和过载多态。

  • 强制多态:编译程序通过语义操作,把操作对象的类型强行加以变换,以符合函数或操作符的要求。
  • 过载多态:同一个名(操作符﹑函数名)在不同的上下文中有不同的类型。

例1:在面向对象技术中,不同的对象在收到同一消息时可以 产生完全不同的结果,这一现象称为(),它由()机制来 支持。利用类的层次关系,把具有通用功能的消息存放在高层次,而不同的‘实现这一功能的行为放在较低层次,在这 些低层次上生成的对象能够给通用消息以不同的响应。
A. 绑定 B. 继承 C. 消息 D. 多态
A. 绑定 B. 继承 C. 消息 D. 多态

例2:在多态的几种不同形式中,( 37) 多态是一种特定的 多态,指同一个名字在不同上下文中可代表不同的含义。
A.参数 B.包含 C.过载 D.强制

  • 消息(Message)
    • 是指向对象发出的服务请求
    • 对象直接用消息的方式传递信息,而不是参数
    • 包括:接收对象名、调用的操作名和适当的参数(如有必要)
  • 对象间的消息传递是OO方法的基本原则
  • 消息包括
    • 同步消息,请求者需要等待响应者返回
    • 异步消息,请求者不需要等待响应者返回,发出消息后可以继续自己的后续工作(和函数调用有本质区别)

二、面向对象设计

面向对象设计的基本准则是:

模块化     抽象     信息隐藏     高内聚、低耦合

面向对象设计(含设计模式)的原则:

(1)单一职责原则。
(2)开放–封闭原则。
(3)李氏(Liskov)替换原则。
(4)依赖倒置原则。
(5)接口隔离原则。
(6)组合重用原则。
(7)迪米特(Demeter)原则。

四、用户界面设计

用户界面设计的原则:

  • (1)置于用户控制之下
  • (2)减少用户的记忆负担
  • (3)保持界面的一致性