课程总结报告
课程名称: C++开发技术
学生学号: 学生姓名: 专 业: 班 级:
16年 月 日
目录
第一部分 课程学习概述 .........................................................................................................1 第二部分 课后程序设计介绍 .................................................................................................4 1
1.概述 ..................................................................................................................................4 1.1 程序的基本功能..............................................................................................................4 1.2 其它功能..........................................................................................................................4 1.3 扩展功能..........................................................................................................................4 2
课题分析 .............................................................................................................................5 2.1 2.2 2.3 2.4 3
会员登入系统模块即SYSTEMHEAD静态全局函数模块 ..............................................5 查询功能模块即SEARCH函数模块 ...............................................................................5 职务信息匹配及处理模块即SYSTEMBODY静态全局函数模块模块4 .......................5 循环控制模块即WHILE(1)模块 ................................................................................5
详细设计 .............................................................................................................................6 3.1 3.2 3.3 3.4 3.5 3.6
类声明..............................................................................................................................6 系统简略流程图..............................................................................................................7 会员登入系统模块即SYSTEMHEAD静态全局函数模块 ..............................................8 查询功能模块即SEARCH函数模块 ...............................................................................9 职务信息匹配及处理模块即SYSTEMBODY静态全局函数模块 ................................10 循环控制模块即WHILE(1)模块 ..............................................................................10
4 程序设计总结 ................................................................................................................... 11 4.1 完成情况........................................................................................................................ 11 4.2 遇到的问题及解决........................................................................................................ 11
参考文献 ...................................................................................................................................13 附录 ...........................................................................................................................................14
第一部分 课程学习概述
上学期我们学习的Java 和这学期学习的C++一样都是面向对象的,虽然C++也可以面向过程设计。在说面向对象之前我们先做个比较。
一,传统开发方式存在问题
1.软件重用性差
重用性是指同一事物不经修改或稍加修改就可多次重复使用的性质。软件重用性是软件工程追求的目标之一。 2.软件可维护性差
软件工程强调软件的可维护性,强调文档资料的重要性,规定最终的软件产品应该由完整、一致的配置成分组成。在软件开发过程中,始终强调软件的可读性、可修改性和可测试性是软件的重要的质量指标。实践证明,用传统方法开发出来的软件,维护时其费用和成本仍然很高,其原因是可修改性差,维护困难,导致可维护性差。
3.开发出的软件不能满足用户需要
用传统的结构化方法开发大型软件系统涉及各种不同领域的知识,在开发需求模糊或需求动态变化的系统时,所开发出的软件系 往往不能真正满足用户的需要。
用结构化方法开发的软件,其稳定性、可修改性和可重用性都比较差,这是因为结构化方法的本质是功能分解,从代表目标系统整体功能的单个处理着手,自顶向下不断把复杂的处理分解为子处理,这样一层一层的分解下去,直到仅剩下若干个容易实现的子处理功能为止,然后用相应的工具来描述各个最低层的处理。因此,结构化方法是围绕实现处理功能的“过程”来构造系统的。然而,用户需求的变化大部分是针对功能的,因此,这种变化对于基于过程的设计来说是灾难性的。用这种方法设计出来的系统结构常常是不稳定的,用户需求的变化往往造成系统结构的较大变化,从而需要花费很大代价才能实现这种变化。
二,面向对象的基本概念 1.对象
对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则,计划或事件。
2.对象的状态和行为
对象具有状态,一个对象用数据值来描述它的状态。
对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。
3.类
具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具
体化就是对象,也可以说类的实例是对象。
类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。 类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。
3.类的构造
在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般--具体结构关系,整体--部分结构关系。
①一般——具体结构称为分类结构,也可以说是“或”关系,或者是is a 的关系。
②整体——部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是has a 的关系。
4.消息和方法
对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。
类中操作的实现过程叫做方法,一个方法有方法名、参数、方法体。
三、面向对象的特征
1.对象唯一性。
每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。
2.抽象性。
分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。
3.继承性。
继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。
在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。 在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。 在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。
采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共
的特性能够共享,提高了软件的重用性。
4.多态性(多形性)
多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
多态性允许每个对象以适合自身的方式去响应共同的消息。 多态性增强了软件的灵活性和重用性。