




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子科技大学计算机学院 C 程序设计语言 黄迪明 1 第一章 C 入门 一 面向对象的方法是在计算机语言发展过程中产生的 早期 机器语言 汇编语言50年代中期 FORTRAN语言引进了许多现代仍然使用的程序设计概念 50年代后期 ALGOL60提出块结构的思想 60年代 SIMULA67首先提出对象和类的概念 并支持类的继承 是面向对象语言的鼻祖70年代 ADA不能全面地支持继承 称为基于对象的语言 1 1面向对象的由来和发展 后来出现的Smalltalk是最有影响的面向对象的语言之一 80年代中后期以后 随着面向对象的程序设计语言的广泛应用 出现了更多的面向对象的语言 面向对象的语言可分为以下两类 1 开发全新的面向对象的语言Object CEiffelSmalltalk802 对传统语言进行面向对象的扩展 称为混合型语言 其代表有C 语言 C C C 语言具有C语言的丰富的应用基础和开发环境的支持 对于已经掌握C语言的人讲 更易学易普及 二 从C到C C语言是贝尔实验室为DEC公司开发PDP系列计算机操作系统时研制的 C作为UNIX操作系统的开发语言而广为应用和流行 1989年制定为ANSIC标准 1 语言简洁 紧凑 使用方便 灵活 2 运算符和数据类型丰富 3 访问内存地址 寄存器 进行位操作 具有汇编语言的功能 4 生成的目标代码质量高 程序运行效率高 C语言的独有特点是 局限 1 对类型的检查机制相对较弱 程序中的一些错误不能在编译时发现 2 无支持代码重用的语言结构 3 当程序规模达到一定的程度时 难以控制程序的复杂性 为满足管理程序复杂性需要 1980年 贝尔实验室对C进行了改进和扩充 带类的C C 1983年取名为C 后经过三次修订 1994年制定了ANSIC 标准的草案 1 C 是C的扩展 C是C 的子集 C 包括C的全部特征 属性和优点 同时 增加了对面向对象编程的完全支持 2 与C一致 C 程序结构采用函数驱动机制实现 3 C 实现了类的封装 数据隐藏 继承及多态 使其代码可重用并容易维护 4 C 是一门高效使用的程序设计语言 既可进行过程化程序设计 又可进行面向对象程序设计 C 的特点 在面向过程的程序设计中 程序是处理数据的一系列过程 过程 或函数 定义为实现特定功能的一组指令 其主要设计思想是功能分解并逐步求精 数据与程序过程分开存储 编程的主要技巧在于关注模块之间的调用关系及数据的变化 1 2面向过程的程序设计 1 当数据量增大时 数据与处理这些数据的方法之间的分离使程序变得越来越难以理解 2 相对于老问题的新方法都要带来额外的开销 程序的可重用性小 面向过程程序设计的主要缺点 面向对象程序设计OOP Object OrientedProgramming 的三要素 对象 类和继承面向对象程序设计的实现需要 封装和数据隐藏技术继承和多态性技术 1 3面向对象程序设计 1 封装和数据隐藏什么是对象 概念上 在问题空间中 将客观世界的实体称为对象 对象可以是人 物 事件 规则 概念等 例如 开发一个商品销售系统 实现上 把数据和处理数据的过程 操作或方法 当成一个整体 这个封装体就称为对象 对象的模型结构 例如 电脑装配声卡 早点销售点无须知道封装体内部是如何工作就能使用的思想称为数据隐藏 对象实现了信息隐藏 对象与外部通过操作接口联系 操作接口提供了对象的功能 操作的具体实现外部是不可见的 对象之间是通过消息传递信息 对象是由特定的类创造的 什么是类 类是创建对象的样板 它包含着所创建对象的状态描述和方法的定义 由一个特定的类所创建的的对象也称为这个类的实例 一个类的所有对象都有相同的数据结构 并且共享相同的实现操作的代码 而各个对象又有具体的不同的状态 类和对象类似于面向过程语言中数据类型和变量 例如 学生类和某个学生对象 2 继承和重用制造一种新型号的电视机可以有两种选择 1 从草图开始重新设计2 对现有型号加以改进 继承和重用 C 采用继承机制支持重用 不仅可重用具有特定功能的类 而且继承可以由已有的类创造新的类 新类共享已有类的属性 自己还具有额外添加的属性 新类是从已有类派生的 称为派生类或子类 已有类称为父类或基类 在客观世界中 存在着整体和部分的关系 一般和特殊的关系 继承将后者模型化 汽车类 各类汽车昆虫类 各类昆虫 3 多态性封装性 继承性 多态性是构成面向对象程序设计的三大特征 封装性是基础继承性是关键多态性是补充什么是多态性 多态是指一个名字有多种语义 或一个相同界面有多种实现 或是指发出同样的消息被不同类型的对象接受而导致完全不同的行为 即对象根据所接收到的消息做出相应的操作 例如 在学籍管理系统中 学生类 基类 计算成绩的操作 中学生类 派生类 计算成绩的操作 大学生类 派生类 计算成绩的操作 又如 在绘图系统中使用的多态性 函数重载和运算符重载表现了最简单的多态性 函数重载 Voidf int int char Voidf char float Voidf int int Voidf int float 运算符重载 为运算符 等赋以新的含义 以实现类对象的运算 1 4程序开发过程 例1 ch1 1 cpp includevoidmain cout Iamastudent n 1 5最简单的程序 运行结果为 Iamastudent 例2 ch1 2 cpp includevoidmain inta b result cout a b result 3 a 2 b 1 cout Resultis result endl C 程序是由函数构成的 由一个主函数和若干个函数构成 C 程序是函数驱动的 例3 ch1 3 cpp include includedoublemax doublx doubly voidmain doublea b c cout a b c max a b cout Thesquartofmaxim
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 火锅店创业合伙人合作协议范本及环保责任
- 精装修商务办公楼租赁意向金及配套服务协议
- 复杂离婚协议变更及子女抚养费及赡养费调整执行合同
- 离婚协议范本:婚后财产分割与子女监护权协议
- 物联网企业股东股权调整与市场拓展协议
- 猪场租赁养殖合同范本实现养殖产业绿色发展
- 科技园区社保补贴及创新创业人才劳动合同
- 选择困难症课件
- 全年护理培训总结
- 小班美术山楂课件
- 营造清朗空间+课件-2025-2026学年(统编版2024)道德与法治八年级上册
- saas货运管理办法
- 2025年遴选财务岗考试题及答案
- excel操作考试题及答案
- 2025新疆生产建设兵团草湖项目区公安局面向社会招聘警务辅助人员考试参考试题及答案解析
- 车间偷盗行为管理办法
- 《涉外法治概论》课件 杜涛 -第1-6章 涉外法治的基础理论-涉外经济管理法律制度
- 2026届广东省广州市高三上学期8月调研考试语文试题(含答案)
- 江苏省南通市如皋市2025-2026学年高三上学期开学考试数学试卷
- 2025年高一语文开学第一课指导课件
- 2025年事业单位工勤技能-河北-河北计算机操作员二级(技师)历年参考题库含答案解析(5套)
评论
0/150
提交评论