- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 次级能量吸收结构在SUV和轿车碰撞相容性中的-天津科技大学学报.PDF
- 欢迎大家第一次到电子电工试验中心进行试验.PPT
- 欢迎阅读最新一期ACFA简报.PDF
- 欧华大厦AB楼建设项目-杭州环保局.DOC
- 欢迎各位老师同学莅临.PPT
- 欧洲反垄断法律框架中的替代性程序卡特尔和解与承诺决定.PDF
- 欧拉方程的简化伯努利方程Bernoulliequations.PPT
- 欢迎使用江西基础教育课题研究平台.PPT
- 正副主席-cloudfrontnet.PDF
- 正弦稳态功率和能量三相电路.PPT
- 人教新目标版英语九年级 中考模拟学情评估(三)(含答案).pdf
- 上海市风华中学2024-2025学年高三上学期9月阶段测试英语试题(无答案).pdf
- 统编版2024-2025学年语文六年级上册期末检测卷(有答案).pdf
- 人教新目标版英语九年级第二学期全册学情评估(含答案).pdf
- 内蒙古自治区巴彦淖尔市杭锦后旗第六中学2024-2025学年八年级上学期阶段性测试历史试题(解析版).pdf
- 湖南省娄底市涟源市部分学校2024-2025学年高一上学期9月月考语文试题 Word版无答案.pdf
- 湖南省衡阳市常宁市2023-2024学年七年级上学期期末考试英语试题.pdf
- 湖南省娄底市涟源市部分学校2024-2025学年高一上学期9月月考语文试题 Word版含解析.pdf
- 江苏省泰州市姜堰区城西实验学校2024-2025学年部编版九年级上学期月考历史试卷(原卷版).pdf
- 内蒙古伊金霍洛旗2022-2023学年七年级上学期期末考试英语试题.pdf
最近下载
- 第十一单元第二十一节德彪西教学课件-2021-2022学年高中音乐人音版必修音乐鉴赏.pptx
- 人教中图版(2019)信息技术必修2 1.2 认识信息社会 教案(表格式).docx
- 高性能低表面处理环氧涂料的制备和性能研究.docx VIP
- 永临结合及转换方案-投标200页简易版.docx
- 【语文】人教部编版语文八年级上册:古诗文理解性默写(完整版).pdf VIP
- 基本乐理音程介绍PPT课件.pptx
- GB_T27065-2015_合格评定产品、过程和服务认证机构要求.doc
- 环氧改性有机硅树脂低表面能涂料的研制.doc VIP
- 0~3岁婴幼儿心理发展与教育(高职)全套教学课件.pptx
- 语文一年级上册核心素养教案全册.pdf VIP
文档评论(0)