- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++ Programming Language Dr. Zheng Xiaojuan Professor Software College of Northeast Normal University September. 2010 第四章 类与对象 本章内容 面向对象的思想 面向对象程序设计的基本特点 类和对象 构造函数和析构函数 类的组合 类模板 1 面向对象的思想 应用实例 :计算两数之和 思路:功能分解(流程) 提示输入第一个数; 提示输入第二个数; 计算两数之和; 显示出总和; 编程: 选择语言 选择开发工具 手写 缺点:由于数据与操作这些数据的代码(函数)相分离,一旦数据改变,则需要重新编写函数;程序功能扩充时,需大量修改函数;以函数方式实现代码重用,效率低,是手工作坊式编程。 应用场合:中小型程序设计及应用。 面向对象程序设计方法 机制:是一种解决问题的方法或者观点,认为自然界是由一组彼此相关并能相互通信的实体(对象)所组成。 特点:用面向对象的观点来描述现实问题,然后用计算机语言来模仿并处理该问题的一种程序设计方法。 程序形式——main( )+若干个类定义 要求:描述或处理问题是应具有高度的概括、分类并对它抽象的能力,才能准确地描述某一实体。 目的:实现软件设计的产品化,变手工作坊式编程为软件构件式工业化,达到快速高效编程。 OOP编程语言: Smalltalk:由美国加州的Xeror公司于70年代初研制的纯OOP语言,适用于小型机; C++:是在面向过程程序设计方法基础上新增OOP成分,因而是一种混合型语言。其流行的原因归功于C语言的普及。 Java:由sun公司于1995年发布,适用于Internet网开发和应用的纯OOP语言。Java语言的主要特性:与特定的操作平台无关(Write Once Run Anywhere)。 应用实例 :计算两数之和 思路:描述类: 定义一个“加”类---描述出各种类型数相加操作; 定义出一个对象(代表本次计算)并对它赋值; 产生消息---将二数相加; 产生消息---显示总和值; 编程: 选择语言 编程:C++ #includeiostream using namespace std; class AddClass {public: void Add(int x,int y) {sum=x+y;} void Add(float x,float y) {sumf=x+y;} void printSum(int flag) {cout“Total Sum=“sum;} void printSum(float flag) {cout“TotalSum=“sumf;} private: int sum; float sumf; }; 纯粹的面向对象程序设计方法:1. 所有的东西都是对象。可以将对象想象成为一种新型变量,它保存着数据,而且还可以对自身数据进行操作。 2. 程序是一大堆对象的组合。通过消息传递,各对象知道自己应该做些什么。如果需要让对象做些事情,则须向该对象“发送一条消息”。具体来说,可以将消息想象成为一个调用请求,它调用的是从属于目标对象的一个方法。3. 每个对象都有自己的存储空间。可容纳其它对象,或者说通过封装现有的对象,可以产生新型对象。因此,尽管对象的概念非常简单,但是经过封装以后却可以在程序中达到任意高的复杂程度。 4. 每个对象都属于某个类。根据语法,每个对象都是某个类的一个实例。一个类的最重要的的特征就是能将什么消息发给它?,也就是类本身有哪些操作。 实现整形“栈”及其操作的例子。栈是一种由若干个按线性次序排列的元素所构成的复合数据,对栈只能实施两种操作:进栈和出栈,并且两种操作必须在栈的同一端进行,且后进先出。(上机习题) 抽象、封装、继承与派生、多态 抽象:对具体对象(问题)进行概括,抽出这一类对象的公共性质并且加以描述的过程。抽象是面向对象方法的核心。 应用要点: 先注意问题的本质及描述,其次是实现过程或细节。它直接决定程序的优劣---类的定义及组成元素。 所涉及到的主要内容:数据抽象---描述某类对象的属性或状态(对象相互区别的物理量),代码抽象---描述某类对象的共有的行为特征或具有的功能。 如何实现抽象:通过类的定义这一机制来达到。 实例1:圆形 数据抽象---double x,y,r; 行为抽象---Setx( );Sety( );Setr( );Draw( ); 实例2:窗
文档评论(0)