版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+面向对象程序设计陈 峦 副教授 , 研究院大楼316#电子科技大学 能源科学与工程学院第一章 概述11 程序设计软件:是商品化的程序软件 = 程序+文档程序:由若干个文件组成一、程序设计语言低级封装、抽象(屏蔽实现细节,透明)提高代码复用率人的自然语言、人的自然习惯思维高级编译、解释 汇编 面向对象 高级语言(面向过程) 汇编语言助记符语言(面向CPU) 二进制语言机器语言(面向电路)面向目标 (屏蔽实现细节,例如:SQL)(编程语言=自然语言,随便说话就是程序)智能语言自然语言面向过程的高级语言面向对象语言 鼻祖:Fortran(1954年)C复杂,功能强大C+(Visual C+、C+
2、 Builder)Java,C#Basic简单,入门Visual Basic(解释,编译)Fortran数值计算Visual FortranPascal教学Delphi二、面向过程与面向对象面向过程程序设计=算法+数据结构面向过程程序设计语言=运算符+语句+数据类型算法=运算符+语句数据结构=数据(值域)+结构(关系)数据类型=数据结构+操作(函数)面向对象程序设计=对象+对象+对象面向对象语言=封装性+继承性+多态性对象=算法+数据结构对象:如windows平台上的多种控件:按钮、标签、菜单、文本框等封装性:类和对象类:ADT(Abstract Data Type),抽象数据类型继承性:继承
3、、派生,单继承树,多继承DAG图(有向无环图)多态性:函数重载、运算符重载、动态联编(虚函数)、模板面向对象的核心思想:支持代码复用,屏蔽实现细节,减少信息冗余实现软件系统的柔性制造早期:计算数值型数据类型:标量(原子)数据类型,结构数据类型预定义现在:信息处理非数值型数据:抽象数据类型,可描述任何事物,如声,图,视频等用类来自定义,如复数,集合,堆栈,队列等类中的成员有三种权限:public、protected、private,防止非法访问,提高安全性继承:减少信息冗余,降低软件成本,缩短开发周期,提高代码质量多态性:一个名字,多种语义;相同界面,多种实现;同一接口,多种方法三、面向过程与面
4、向对象的比较面向过程1强调结构化,模块化2以过程为出发点3以数据结构为中心4本质是功能分解,算法分解5用计算机观点来进行程序设计6分析与设计不一致7将数据与处理数据的过程相分离8代码的可重用性差,维护困难面向对象1强调对象化2以客观存在的事物为出发点3以问题域中的事物(对象)为中心4本质是对象分解5模拟人类习惯的解题方法来进行程序设计6分析与设计一致7将数据及对数据的操作方法封装在一起,作为一个对象8代码的可重用性好,可扩充性好,维护容易四、积木化软件设计思想积木化:单入口,单出口,高内聚,低耦合代码复用,屏蔽实现细节语句化结构化模块化对象化类似于:二极管三极管电阻集成电路芯片电路板计算机计算
5、机网络结构化:顺序结构,选择结构(分支结构、条件结构),循环结构(重复结构)模块化:子程序,函数,过程,如Turbo C的库函数不用知道实现细节,只知道入口出口即可对象化:更宏观的程序模块对象:是数据和函数的封装体,与人认识现实世界的思维习惯一致(对象分解)类:抽象数据类型ADT,如同int数据类型对象:类的实例:如同x变量积木化的优点:便于代码复用 便于软件维护(查错、维修局部化)便于增删功能可提高可读性,可减少信息冗余简化问题,分而治之五、软件工程1软件质量软件质量:内部质量和外部质量正确性:correctness健壮性:robustness可扩充性:extendibility可复用性:r
6、eusability协调性:compatibility2模块化当今软件工程强调的重点模块化模块化的5个标准:模块可分解性:modular posability模块可结合性:modular composability模块可理解性:modular understandability模块连续性:modular continuity模块保护性:modular protection模块化的5个原则: 语言模块单元:linguistic modular units少接口:few interfaces接口弱耦合性:small interfaces显式的接口:explicit interface信息隐藏:in
7、formation hiding3面向对象的软件工程: OOA:面向对象分析 Object-Oriented Analysis OOD:面向对象设计 Object-Oriented Design OOP:面向对象的编程 OOT:面向对象的测试 OOSM:面向对象的软件维护1-2 C+与C的关系一、C+与C的关系1C语言是C+的一个子集,C+是C语言的超集,C+包含了C语言的全部内容2C+保持与C语言兼容:C程序可不做任何改变就能在C+环境下运行3C+对C语言作了很多改进4C+与C语言的本质差别:C+面向对象,C面向过程二、C语言和C+语言的特点C语言的特点: 语言简洁,灵活,高效 运算符和数据
8、类型丰富 具有结构化控制语句,程序的可移植性好 可直接访问物理地址,具有面向过程的高级语言和汇编语言的双重优点C+的特点: 继承保持了C的优点:简洁,高效;接近汇编语言 改进了C的不足,比C更安全 既支持面向过程程序设计,又支持面向对象程序设计1-3 上机调试及运行一、Turbo C+上机调试及运行1编辑:FileNew编辑Save或Save as设置路径及文件名为:*cppOK2编译:CompileCompile *cpp改错重新编译无错*objCompileMake *exe*exe3运行:RunRun *exe到User Screen中看结果,或Alt+F5看结果二、Visual C+上
9、机调试及运行1编辑启动VC+编译系统Microsoft Developer studio窗口File Edit View Insert Project Build Tools Window Help共9个菜单项FileNewFileC+ Source File进入编辑屏幕存盘:FileSave或Save as*cppOK2编译连接和运行(1)单文件程序:程序中只有一个文件例:/f.cpp文件内容# include “iostream.h” void main( )int a=3,b=4; int c=a+b; coutcendl;/显示结果:7 BuildCompile *cpp显示错误信息,
10、改正后重新编译直到显示:*obj0 error(s),0 warning(s)编译无错 BuildBuild *exe显示错误信息,改正后重新编译直到显示:*exe0 error(s),0 warning(s)连接成功 BuildExecute *exe显示结果press any key to continue(2)多文件程序:该程序至少包含二个文件例:/f1.cpp文件内容 #include “iostream.h” int add( int,int); void main( ) int a=3,b=4; int c=add(a,b); coutcendl;/f2.cpp文件内容int add(int x,int y)return x+y; 在某个指定目录下建好C+的源程序文件,如:d:user 下 创建一个新的项目文件FileNew Project 出现New Project对话框a选择项目类型为:Win32 Console Applicationb输入项目名字:在Project name中输入,如:kkkc输入路径名:在Location中输入,如:d:user单击OK按钮确认,则项目文件已建立 向项目文件中添加文件ProjectAdd Fi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 委托销售手机合同范例
- 待岗期间安全合同范例
- 小型基建施工合同范例
- 钻芯劳务合同范例
- 土方运输劳务合同范例
- 承包红砖合同范例
- 生鲜店联营合同范例
- 项目咨询顾问合同范例
- 山东商业职业技术学院《安全教育》2023-2024学年第一学期期末试卷
- 2024年游泳馆管理系统项目可行性研究报告
- 2024年销售年终个人总结
- 2024年度师德师风工作计划
- 工程质量管理制度
- 初中音乐教师个人成长专业发展计划
- GB/T 44705-2024道路运输液体危险货物罐式车辆罐体清洗要求
- 护理类医疗设备采购 投标方案(技术方案)
- 2024年法律职业资格考试主观题试卷及答案指导
- 员工合同劳动合同范例
- 老年髋部骨折患者围术期下肢深静脉血栓基础预防专家共识(2024版)解读 课件
- 口腔连锁机构店长聘用协议
- 南京工业大学《大地测量学基础》2023-2024学年第一学期期末试卷
评论
0/150
提交评论