C++是一种面向对象程序设计语言,在软件工程中也学习面向对象技术,就在UML视频开始最先介绍的也是它,可见面向对象技术是现在比较流行的一种程序设计方法,是对现实世界的一种抽象方式。其中软件工程是软件开发的思想,而UML则是分析和设计的工具,但都有面向对象思想的体现,其思想从现实世界出发,构造程序,研究问题域。
一、基本概念:=对象+类+继承+通信
1.对象:系统中描述客观事物实体,客观世界中的个体都是对象,比如一辆车,一张桌子等。
2.类:一组具有相同数据结构和相同操作的对象的集合,类是对象的模板,比如从汽车和火车中抽象出交通工具类。
3.方法:可以作用于某对象的各种操作,比如开车,开车就是车对象的方法。
4.消息:是一个对象与另一个对象的通信单元,是要求某个对象执行类中定义的某个操作的规格说明,比如红绿灯。
5.继承:特殊类对象拥有一般类属性和服务,就是特殊类对一般类的继承,比如三角形、四边形继承多边形的属性。
6.封装:是一种信息隐蔽技术,实现对客户信息隐藏,客户只看到接口,比如用遥控调控电视节目。
二、开发过程:和结构化设计方法相似,包括类的定义、实现、测试和维护。
1.OOA
在OOA中,任务是把应用问题变成系统构成对象及对象如何协同合作完成指定功能,首先构造OOA概念模型中5个层次:类与对象、属性、服务、结构、主题,分析的流程是识别类与对象,表示结构、属性、服务层,最后识别主题。
2.OOD
OOD实现建立软件结构,包括高层设计:构造软件总体模型,标识在计算机环境中进行问题解决工作所需要概念,并增加一批需要的类;详细设计即类设计,主要有问题论域部分,人机交互,任务管理和数据管理。
3.实现和测试
和面向过程软件测试相同,包括单元测试、组装测试和确认测试。
总之面向对象程序设计方法有它独特的优势,其继承和封装特点保证了代码的可重用性、可扩展性和可管理性。