C++基础概念OOA、OOD、OOP

OOA:Object-Oriented Analysis面向对象分析

OOA可分为共主题层、对象类层、结构层、属性层和服务层等5个层次和标示对象类、标示结构、定义主题、定义属性和定义服务等5个活动组成。

OOA的主要原则:

(1)抽象:从许多十五中舍弃个别的、非本质的特征,抽取共同的、本质性的特征就叫抽象。抽象是形成概念的必须手段,数据抽象是OOA的核心原则。它强调吧数据(属相)和操作(服务)结合为一个不可分的系统单位(对象),对象的外部只需要知道它做什么,而不必知道它如何做

(2)封装就是把对象的属性和服务结合为一个不可分的系统单位,并尽可能隐蔽对象的内部细节

(3)继承:特殊类的对象拥有的其一般类的全部属性与服务,称特殊类对一般类的继承。好处:使系统模型比较简练也比较清晰。

(4)分类:就是把具有相同属性和服务的对象划分为一类,用类作为这些对象的抽象描述。分类原则实际上是抽象原则运用于对象描述时的一种表现形式。

(5)聚合:又称组装,其原则是把一个复杂的事物看成若干比较简单的事物的组装体,从而简化对复杂事物的描述。

(6)消息通信:这一原则要求对象之间只能通过消息进行同学而不允许在对象之外直接地存取对象内部的属性。通过消息进行通信是由于封装原则而引起的。


面向对象三种分析模型

1.对象模型:对用例模型进行分析,把系统分解成相互协作的分析类,通过类图/对象图描述对象/对象的属性/对象间的关系,是系统的静态模型。

2.动态模型:描述系统的动态行为,通过时序图/协作图描述对象的交互,以揭示对象间如何协作来完成每个具体的用例,单个对象的状态变化动态行为可以通过状态图来表达。

3.功能模型:用例模型a作为输入


OOA方法的基本步骤:

1.确定对象和类

2.确定结构(structure)

3.确定主题(subject)

4.确定属性(attribute)

5.确定方法(method)


OOD:Object-Oriented Design面向对象设计师一种软件设计方法,是一种工程化规范。其主要作用是对OOA分析的结果作为进一步的规范化整理,以便能够被OOP直接接受。


OOP:Object-Oriented Programming面向对象程序设计。OOP达到了软件工程的三个重要目标:重用性、灵活性和扩展性。

OOP主要有以下的概念和组件:

组件:数据和功能一起在运行着的计算机程序中成成的单元,组件在OOP计算机程序中是模块和结构化的基础。

抽象性:程序有能力忽略正在处理中信息的某些方面,即对信息主要方面关注的能力。

封装:也叫信息封装,确保组件不会以不可预期的方式改变其他组件的背部状态;只有在那些提供了内部状态改变方法的组件中,才可以方位其内部状态。

多态性:组件的引用和类集合会涉及到其他许多不同类型的组件,而且引用组件所产生的结果得一句实际调用的类型。

继承性:允许在现存的组件基础上创建子类组件,这统一并增强了多态性和封装性。典型的来说就是用类来对组件进行分组,而且还可以定义新类为现存的类的扩展,这样就可以将类组织成树形或网状结构,这体现了动作的通用性。



你可能感兴趣的:(C\C++)