****** 四十七 ******、软设笔记【面向对象设计】-基本概念、面向对象设计(含设计模式)的原则

面向对象设计
一、基本概念
*对象
*类
*继承
*封装
*消息
*多态性


*对象(Object)
**他是系统用来描述客观事物的一个实体,是构成系统的一个基本单位。
**对象包括:对象名、属性(静态特征)和方法(动态特征)
**对象之间通过消息进行通信。

*类(Class)
**具有相同属性和相同操作的对象的集合
**对象是类的实例,没有实例的类称为抽象类

*继承(Inheritance)
**它使子类可以继承父类的属性和方法
**继承增加了软件复用的机会
*单一继承与多重继承

*封装(Encapsulation)
**就是把对象的属性和方法结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。
**封装使对象具有2个部分:接口部分和实现部分

*多态(Polymorphism)
**指同一个操作作用于不同的对象时可以有不同的解释,并产生不同的执行结果。
*多态分两种:
**通用多态
**特定多态

通用多态又分为参数多态和包含多态
***参数多态:采用参数化模板,通过给出不同的类型参数,使得一个结构有多种类型。
***包含多态:同样的操作可用于一个类型及其子类型。(注意是子类型,不是子类。)

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

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

二、面向对象设计(含设计模式)的原则:
(1)单一职责原则。
(2)开放--封闭原则。
(3)李氏(Liskov)替换原则。
(4)依赖倒置原则。
(5)接口隔离原则。
(6)组合重用原则。
(7)迪米特(Demeter)原则。


猜你喜欢

转载自blog.csdn.net/qq_40223688/article/details/80335445