三、面向对象设计
一、基本概念
对象 类 继承 封装 消息 多态性
- 对象(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)保持界面的一致性