一、基本概念
- 对象
- 类
- 继承
- 封装
- 消息
- 多态性
1.对象(Object)
- 它是系统用来描述客观事物的一个实体,是构成系统的一个基本单位
- 对象包括:对象名、属性(静态特征)和方法(动态特征)
- 对象之间通过消息进行通信
2.类(Class)
- 具有相同属性和相同操作的对象的集合
- 对象是类的实例,没有实例的类称为抽象类
3.继承(Inheritance)
- 它使子类可以继承父类的属性和方法
- 继承增加了软件复用的机会
- 单一继承与多重继承
4.封装(Encapasulation)
- 就是把对象的属性和方法结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节
- 封装使对象具有两个部分:接口部分和实现部分
5.多态(polymorphism)
-
指同一个操作作用于不同的对象时可以有不同的解释,并产生不同的执行结果
-
多态分两种:
- 通用多态
- 特定多态
-
通用多态又可分为参数多态和包含多态:
- 参数多态:采用参数化模板,通过给出不同的类型参数,使得一个结构有多种类型
- 包含多态:同样的操作可用于一个类型及其子类型
-
特定多态又可分为强制多态和过载多态:
- 强制多态:编译程序通过语义操作,把操作对象的类型强行加以变换,以符合函数或操作符的要求
- 过载多态:同一个名(操作符、函数名)在不同的上下文中有不同的类型
6.消息(Message)
- 是指向对象发出的服务请求
- 对象直接用消息的方式传递信息,而不是参数
- 包括:接收对象名、调用的操作名和适当的参数(如有必要)
- 对象间的消息传递时OO方法的基本原则
- 消息包括:
- 同步消息,请求者需要等待响应者返回
- 异步消息,请求者不需要等待响应者返回,发出消息后可以继续自己的后续工作(和函数调用有本质区别)
二、面向对象设计(含设计模式)的原则:
- 单一职责原则
- 开放-封闭原则
- 李氏(Liskov)替换原则
- 依赖倒置原则
- 接口隔离原则
- 组合重用原则
- 迪米特(Demeter)原则