hello world!
分类: C/C++
2011-08-18 09:31:42
面向对象设计的基本概念
1、 对象(object)
对象可大可小,是构成系统的基本单位,任何一个对象都应当具有两个要素,即属性(attribute)和行为(behavior)。两个对象通过发送和接收某一种行为来互相联系。C++中每个对象都是由数据和函数这两部分组成。数据即属性,函数即行为(方法)。
2、 封装(encapsulation)
有两方面的含义:
Ø 将有关的数据和操作代码封装在一个对象中,形成一个单位,对对象间相对独立。
Ø 将对象是某些部分对外隐蔽,只留下小量接口,与外界联系接收外界消息。
3、继承与得用
“白马”继承了“马”的基本特征,又增加了新的特征(颜色),“马”是父类,或称为基类,“白马”是从“马”派生出来的,称为子类或派生类。
C++提供了继承机制,采用继承的方法可以很方便地利用一个已有的类建立一个新的类,这就是常说的“软件重用”(software resuability)思想。
4、多态性(polymorphism)
在C++中,多态性就是对指,由继承而产生的相关的不同的类,其对象对同一消息会作出不同的响应。多态性是面向对象程序设计的一个重要特征,能增加程序的灵活性。
面向对象的程序设计的本质
面向对像的程序设计主要包括两个方面的任务:
Ø 设计所需要的各种类和对象,即决定把哪些数据和操作封装在一起。
Ø 考虑怎样向有关对象发送消息,以完成所需的任务。
其本质是以类和对象为基础,程序操作围绕对像进行,在此基础上利用了继承机制和多态性,就成为了面向对象的程序设计。
面向对象的软件开发
面向对象的软件工程包括以下几个部分:
1、面向对像分析(object oriented analysis,OOA)
对用户的需求作出精确的分析和明确的描述,从宏观的角度概括出系统应该做什么(而不是怎么做)。面向对象的分析,要按照面向对象的概念和方法,在对任务的分析中,从客观存在的事物和事物之间的关系,归纳出有关的对象(包括对象的属性和行为)以及对象之间的联系,并将具有相同属性和行为的对象用一个类(class)来表示。建立一个能反映真实工作情况的需求模型。
2、 面向对象设计(object oriented design,OOD)
根据面向对象分析阶段形成的需求模型,对每一部分分别进行具体的设计,首先是进行类的设计,类的设计可能包含多个层次(利用继承与派生)。然后以这些类为基础提出程序设计的思路和方法,包括对算法的设计。在设计阶段,并不牵涉某一种具体的计算机语言,而是用一种更通用的描述工具(如伪代码或流程图)来描述
3、 面向对象编程(object oriented programming, OOP)
用一种面向对象的计算机语言写成程序。
4、 面向对象测试(object oriented test , OOT)
以类做为测试的基本单元。
5、面向对象的维护(object oriented soft maintenance, OOSM)