面向对象的基本原则

面向对象的基本原则有,抽象、分类、封装,消息通信,多态性,行为分析和复杂性控制。

一、抽象

 抽象是指从事物中舍弃个别的、非本质的特征,抽取共同的,本质特征的思维方式。

 

 

从几个方面理解抽象,

1,编程语言本身越来越抽象。

过程抽象,如,函数。

 

 

数据抽象,如,类,栈。

在类的范围内,使用过程抽象来形成操作。

数据抽象是指把数据类型和施加在其上的操作结合在一起,形成一种新的数据类型。

2,在面向对象方法中,对象是对现实事物的抽象,类是对对象的抽象,一般类是对特殊类的抽象。

3,不同开发阶段需要不同程度的抽象。

分析阶段,先定义属性和操作。实现相关的放到设计阶段。

和在现实生活中一样,我们在较高的抽象层次上分析和解决问题,然后在较低抽象层次上予以落实。

抽象的好处,一是便于访问(接口),二是便于维护(可以修改替换实现不影响用户使用)。

二、分类

相同属性和相同操作 的对象划分为一类。

可以用不同程度的抽象,可进一步分为分为一般类 / 特殊类。

三,封装

 两层含义,

1,把对象的属性和操作包装起来,形成一个独立的单元。

2,信息隐蔽。

在对象外部不能随意访问对象的内部数据和操作。只允许通过public操作来访问,降低了对象之间的耦合度。

只能通过消息来通信,保护内部数据安全。

四,消息通信

 封装原则促使 对象之间只能通过消息通信。一个对象可以是消息的发送者,也可以是消息的接收者,还可以作为消息中的参数。

五,多态性

 一般类和特殊类可以具有相同格式的属性和操作。

同一消息,不同对象对其响应,表现出不同行为。

六,行为分析

 基于静态模型进行行为分析。

状态机图分析对象的状态变迁情况。对于一个对象,由于其内部的属性值在不断发生着变化,按照一定的规则根据属性值可以把对象划分为不同的状态。在请求对象操作时,可能会使对象的状态发生变化,二对象的当前状态对随后的执行是有影响的。用状态机图跟踪变化。

交互图来描述对象之间的协作。对象之间通过发消息共同完成某项功能。

交互图描述对象之间的并发行为。很多系统有并发行为。从事物的并发行为起因上看,事物的每个并发行为是主动发生的。体现在对象上,就是一种对象是主动的,每个对象代表着一个进程或线程。在交互图上也能体现出对象之间的并发行为。

七,复杂性控制

 为了控制系统模型的复杂性,引入了包(package)的概念。

 用分析包和设计包来分别组织分析模型和设计模型,以显示地描述不同抽象层次的模型。

对复杂类图也可以按类之间关系的紧密程度来用包来组织类。

 

posted @ 2021-05-18 07:50  starof  阅读(969)  评论(0编辑  收藏  举报