-C++-新能源与智能电网试验教学中心-电子科技大学.PPT

-C++-新能源与智能电网试验教学中心-电子科技大学.PPT

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
-C-新能源与智能电网试验教学中心-电子科技大学

C++面向对象程序设计 陈 峦 副教授 chluan@uestc.edu.cn 研究院大楼316# 电子科技大学 能源科学与工程学院 第一章 概述 §1—1 程序设计 软件:是商品化的程序 软件 = 程序+文档 程序:由若干个文件组成 一、程序设计语言 低级 封装、抽象(屏蔽实现细节,透明)→提高代码复用率 人的自然语言、人的自然习惯思维 高级 编译、解释 汇编 面向对象 高级语言 (面向过程) 汇编语言 助记符语言 (面向CPU) 二进制语言 机器语言 (面向电路) 面向目标 (屏蔽实现细节,例如:SQL) (编程语言=自然语言,随便说话就是程序) 智能语言 自然语言 面向过程的高级语言→面向对象语言 鼻祖:Fortran(1954年) C复杂,功能强大→C++(Visual C++、C++ Builder)→Java,C# Basic简单,入门→Visual Basic(解释,编译) Fortran数值计算→Visual Fortran Pascal教学→Delphi 二、面向过程与面向对象 面向过程程序设计=算法+数据结构 面向过程程序设计语言=运算符+语句+数据类型 算法=运算符+语句 数据结构=数据(值域)+结构(关系) 数据类型=数据结构+操作(函数) 面向对象程序设计=对象+对象+对象 面向对象语言=封装性+继承性+多态性 对象=算法+数据结构 对象:如windows平台上的多种控件:按钮、标签、菜单、文本框等 封装性:类和对象 类:ADT(Abstract Data Type),抽象数据类型 继承性:继承、派生,单继承→树,多继承→DAG图(有向无环图) 多态性:函数重载、运算符重载、动态联编(虚函数)、模板 面向对象的核心思想:支持代码复用,屏蔽实现细节,减少信息冗余 实现软件系统的柔性制造 早期:计算→数值型数据类型:标量(原子)数据类型,结构数据类型→预定义 现在:信息处理→非数值型数据:抽象数据类型,可描述任何事物,如声,图,视频等→用类来自定义,如复数,集合,堆栈,队列等 类中的成员有三种权限:public、protected、private,防止非法访问,提高安全性 继承:减少信息冗余,降低软件成本,缩短开发周期,提高代码质量 多态性:一个名字,多种语义;相同界面,多种实现;同一接口,多种方法 三、面向过程与面向对象的比较 面向过程 1.强调结构化,模块化 2.以过程为出发点 3.以数据结构为中心 4.本质是功能分解,算法分解 5.用计算机观点来进行程序设计 6.分析与设计不一致 7.将数据与处理数据的过程相分离 8.代码的可重用性差,维护困难 面向对象 1.强调对象化 2.以客观存在的事物为出发点 3.以问题域中的事物(对象)为中心 4.本质是对象分解 5.模拟人类习惯的解题方法来进行程序设计 6.分析与设计一致 7.将数据及对数据的操作方法封装在一起,作为一个对象 8.代码的可重用性好,可扩充性好,维护容易 四、积木化软件设计思想 积木化:单入口,单出口,高内聚,低耦合→代码复用,屏蔽实现细节 语句化→结构化→模块化→对象化 类似于:二极管三极管电阻→集成电路芯片→电路板→计算机→计算机网络 结构化:顺序结构,选择结构(分支结构、条件结构),循环结构(重复结构) 模块化:子程序,函数,过程,如Turbo C的库函数 不用知道实现细节,只知道入口出口即可 对象化:更宏观的程序模块 对象:是数据和函数的封装体,与人认识现实世界的思维习惯一致(对象分解) 类:抽象数据类型ADT,如同int→数据类型 对象:类的实例:如同x→变量 积木化的优点: 便于代码复用 便于软件维护(查错、维修局部化) 便于增删功能 可提高可读性,可减少信息冗余 简化问题,分而治之 五、软件工程 1.软件质量 软件质量:内部质量和外部质量 正确性:correctness 健壮性:robustness 可扩充性:extendibility 可复用性:reusability 协调性:compatibility 2.模块化 当今软件工程强调的重点→模块化 模块化的5个标准: 模块可分解性:modular decomposability 模块可结合性:modular composability 模块可理解性:modular understandability 模块连续性:modular continuity 模块保护性:modular protection 模块化的5个原则: 语言模块单元:linguistic modular units 少接口:few interfaces 接口弱耦合性:small interfaces 显式的接口:explic

您可能关注的文档

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档