电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

面向对象程序设计概论

32页
  • 卖家[上传人]:san****019
  • 文档编号:70806648
  • 上传时间:2019-01-18
  • 文档格式:PPT
  • 文档大小:423.51KB
  • / 32 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第一章 面向对象程序设计概论,1.1OOP(Object-Oriented Programming)的基本思想和有关概念 1.1.1 面向过程程序设计与面向对象程序设计 1.1.2 面向对象程序设计的有关概念 1.2 C+对OOP方法的支持 1.3 C+对C语言的改进 1.4 C+程序的编辑、编译和运行 1.5 C+程序结构的特点 1.6 Visual C+程序运行步骤 小结,1.1.1 面向过程与面向对象程序设计,面向过程程序设计 程序=(算法)+(数据结构),面向对象程序设计 程序=(算法+数据结构),1.1.1 面向过程与面向对象程序设计,例1.1:输入任意短语或句子,计算短语包含多少个字(word)和字符(character)。注意:输入短语时,必须在字和字之间只空一格。,#include /面向过程程序 void main() char ch; int wdcount,chcount; wdcount=1; chcount=0; printf(“*:Please input any phrase:n“); while(ch=getchar()!=n) chcount+; if

      2、(ch= ) wdcount+; printf(“n*:The number of word is %dn“,wdcount); printf(“n*:The number of char is %dn“,chcount); ,1.1.1 面向过程与面向对象程序设计(续1),void main() Count a;/定义对象 a.process();/调用公有成员函数 a.display(); ,运行结果,*Please input any phrase. I am a teacher. *:The number of word is 4 *:The number of char is 15,面向对象程序设计方法,1.1.1 面向过程与面向对象程序设计(续2),#include class Count /定义类 public: /公有成员 Count(); /构造函数 void process(); /成员函数 void display(); private: /私有成员 int wdcount,chcount;/数据成员 ; Count:Count() wdcount=1; chco

      3、unt=0; ,1.1.1 面向过程与面向对象程序设计(续3),void Count:process() /成员函数的实现 char ch; cout“*:Please input any phrase“endl; while(ch=getchar()!=n) chcount+; if(ch= ) wdcount+; coutendl; void Count:display() printf(“n*:number of word is %dn“,wdcount); printf(“n*:number of char is %dn“,chcount); ,1.1.1 面向过程与面向对象程序设计(续4),是一种数学思维或计算机思维方法,与人们认识世界的方法不同 以不稳定的、多变的“过程”和“操作” 为中心来构造系统 可重用性较差,是建立在认识方法学基础上的一项技术科学,比较自然地模拟了人类认识客观世界的方式; 以相对稳定的“对象”和“数据结构”为中心来构造系统 可重用性较好,面向过程程序设计,面向对象程序设计,1.1.1 面向过程与面向对象程序设计(续5),消息传递机制,面向过程程序设计,

      4、面向对象程序设计,1.1.2 面向对象程序设计的有关概念,一、对象与抽象 二、类 三、封装 四、继承 五、多态,一、对象与抽象,1、对象 对象是现实世界中实际存在的一个事物,如:一本书、一台电脑 对象是面向对象程序设计的核心概念,从现实事物中抽象出来,对象具有: (1) 属性: 状态和外貌特征 - 用数据表示 (2) 方法: 行为 - 用程序代码表示 对象 = (算法 + 数据结构) 程序 = (对象1 + 对象2 + 对象3 ),一、对象与抽象(续1),2、抽象 抽象是对现实世界中的实体进行归类、简化的描述,即模型化;是通过从特定的实例中抽取共同的性质以形成一般化的概念的过程; 抽象代表着一个对象的本质特征,这个特征将该对象与所有其他种类的对象区别开来; 抽象具有层次;,飞机,交通工具,二、类,1、什么是类 类是面向对象程序设计封装的基本单元,是创建对象的样板,它包含着对所创建对象的状态描述和方法的定义。类的完整描述包含了外部接口和内部算法以及数据结构的形式; 类由struct类型引申而来,并将数据和处理数据的函数捆绑在一起。 2、类是对象的抽象及描述 类中包含生成对象的具体方法,由

      5、一个类所创建的对象称为该类的实例,一个类的所有对象具有相同的数据类型; 3、类是抽象数据类型的实现 类是所有对象的共同的行为和不同的状态的集合体;,例1-2 结构体引申为类 struct Complex /结构体 double real,imag; ; class Complex /类 private: double real, imag; /数据成员 public: void Set(double r,double i) /成员函数 real=r; imag=i; ; void main() Complex a,b; /a、b是Complex类的实例变量 a.Set(4.0,6.0); /调用成员函数来实现消息发送 b.Set(4.0,6.0); /同一消息可发向多个对象,三、封装,数据封装:将数据和处理数据的方法包装成一个整体,并将具体实现细节的数据信息和操作方法在结构上隐藏起来; 信息隐藏:将一个模块的细节部分对用户隐藏起来,用户只能通过一个受保护的接口来访问某个模块,而不能直接访问一个模块内部的细节; 一个对象具有状态、行为和标识。 对象是一个状态和操作(或方法)的封装体;,我

      6、的电路被封装在机壳内了!,使用电话请按键!,公有成员,人,工人,学生,教师,农民,四、继承,继承将客观世界中一般和特殊的关系模型化为层次结构,提供了创建新类的一种方法,它的本质特征是行为共享;,对象实例: 研究生 王 平,四、继承(续1),继承可增强代码的可重用性,代码的重用是利用继承基类的属性和方法来实现的. 继承某一基类的派生类可自动继承基类的全部属性和方法. 增加派生类时,即修改和扩充程序时也不必修改原有程序代码,只需增加一些新的程序代码.,四、继承(续2),发出同样的消息,被不同类型的对象接收,导致完全不同的行为。 例:调用函数求两个整型量或两个双精度型量的最大值。 int max(int ,int); double max(double,double);,五、多态,1.2 C+对面向对象程序设计方法的支持,C+支持数据封装(数据抽象) C+中,类是支持数据封装的工具,对象则是数据封装的实现; C+中包含有私有、公有和保护成员 C+中通过发送消息来处理对象 每个可能的消息对应一个相应的方法,方法通过函数来定义; C+中允许友元破坏封装性 C+中允许函数名和运算符重载 C+支持继

      7、承性 C+支持动态联编,1.3 C+对C语言的改进,增加了新的运算符::,new, delete等; (malloc, free) 改进了类型系统,增加了安全性; 引进了引用概念; 允许函数重载,允许设置缺省参数,提高了编程的灵活性; 引进了内联函数,提高了程序的效率; 可以根据需要随时对变量进行说明;,1.4 C+程序的编辑、编译和运行,1.5 C+程序结构的特点,一、标识符 组成规则:以字母或下划线开始,其后跟零个或多个字母、数字或下划线; 标识符的长度任意 区分字母的大小写; 不能使用系统的关键字; C+系统关键字 二、预处理命令 宏定义 文件包含 条件编译,关键字(保留字),三、输入/输出流操作语句,流操作:指数据从源点搬运到终点的流动操作。 1、输出运算符(插入符inserting、putting) 数据的流动 终点 源点 cout(CRT显示器)xy; cout“n x =“x“t y= “yendl;,2、输入运算符,数据的流动 源点 终点 cin(键盘) 程序中的变量名或对象名; 多个输出操作可组合成一条语句; 输入运算自动识别数据类型,不需要以%开头的格式说明符。 例

      8、: cinxy;,例1-3 流操作示范程序,#include using namespace std; void main() double x,y; coutx; couty; double z=x+y; out”x+y=”zendl; ,I/O流库,提供所 有的输入输出操作,cout:流类对象 :提取符 endl:换行;,结果:请输入x:43 请输入y:46 x+y=89,四、函数、语句及注释,C+的源程序由若干个函数组成,函数间相互独立; C+的源程序有且只能有一个main(); 调用用户定义函数必须定义好,调用系统标准函数必须加相应头文件; 复合语句同C语言一样,括起来,称为块。 注释:两种方法 /*/ 可放在程序区域的任何位置,可占多行 / 单行注释,1.6 Visual C+程序运行步骤,一、打开Visual C+开发环境主窗口 二、创建一个空的项目 菜单命令:File / New 选项卡:Projects / Win32 Console Application Location:指定路径 Project Name:指定项目名称 三、建立源程序文件 菜单命令:Project

      9、 / Add to Project / New 选中C+ Source File,指定文件名后单击OK 四、存盘运行 File / Save Build, Execute programm,小结,(1)OOP以对象为核心,以抽象和归类为基础,强调程序分层分类的概念,克服了软件复杂性,是将客观世界的模型在计算机中自然地表现出来的最好方法。 (2)OOP将一种数据结构和操作该数据结构的方法捆在一起,封装在一个程序实体内,从而实现了数据封装和信息隐藏。通常,用数据成员描述某类的属性,用成员函数描述行为。 (3)对象、消息传递机制和以继承为基础的类层次结构是面向对象程序设计的三个要点。 (4)对象是抽象数据类型的实现,根据要达到的目的描述客观实体的抽象化的模型,抽象出与目的相关的主要信息,忽略掉一些次要信息,隐藏具体化的实现细节。 (5)消息传递机制是对象之间相互通信和作用的唯一方式。,#include struct animal int weight; int feet; ; void main() animal dog1,dog2,chicken; dog1.weight=15; dog2.weight=37; chicken.weight=3; dog1.feet=4; dog2.feet=4; chicken.feet=2; cout“The weight of dog1 is “dog1.weightendl; cout“The weight of dog2 is “dog2.weight“n“; cout“ the wt of chicken is“chicken.wei

      《 面向对象程序设计概论》由会员san****019分享,可在线阅读,更多相关《 面向对象程序设计概论》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.