- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本章主要内容 面向对象的思想 OOP的基本特点 类概念和声明 对象 构造函数 析构函数 内联成员函数 拷贝构造函数 类的组合 类的声明(即类的定义) class rectangle //声明一个“矩形”类 { private: int x, y, weight, high; //声明私有变量 public: rectangle(int xx,int yy,int w,int h) //声明构造函数 { x = xx; y = yy; weight = w; high = h; } inline int area( ); } inline int rectangle::area( ) { return weight*high; } 定义对象 定义一个位于坐标(12, 34),重量56,高度78的矩形对象r1: rectangle r1( 12, 34, 56, 78 ); 计算矩形r1的面积:r1.area( ); 4.1 面向对象程序设计思想 面向对象程序设计:被结构化的结构化程序设计; 对象:一组数据及相关代码的结合体; 数据:描述对象的属性; 代码:对数据进行处理的操作; 封装:隐藏大部分细节(数据、代码); 接口:对外开放一部分属性和操作; 类:同类型对象的抽象描述,面向对象方法的 核心; 聚合:由简单对象组合而成的复杂对象; 消息:对类的成员函数的调用,是对象之间彼此联系、共同协作的媒介。 4.1.1 面向对象程序设计的特点1.抽象性:抽取本质特性(共性),加以简单描述 例如用C++语言将圆形(circle)抽象如下: 数据抽象:对象属性和状态的描述 double x,y,r; 行为抽象:数据所需要的操作 setx( );sety( );setr( );draw( ); 抽象是面向对象方法的核心。 2.封装性:内部细节对外隐藏,通过接口进行控制 使程序中各部分之间的相互影响达到最小; 提高程序的安全性; 简化代码的编写工作; 对象中的数据(即属性)、操作代码(即行为)称为对象的成员。 私有成员:对象中被隐藏的部分; 公有成员:对象与外界的接口。 封装的两个目标:1. 数据和行为的包装; 2. 信息隐藏。 3.继承性:复用共性,简化描述 一般类:包含共性; 特殊类:在一般类的基础上,增添每个具体类的个性; 继承:特殊类的对象拥有一般类的全部属性和操作; 多继承:一个类可以继承多个一般类的特性。 例如: Class A //一般类A作为基类 { … } Class B //一般类B作为基类 { … } Class C: public A, public B //派生类C是特殊类 { … } 4.多态性:一个接口,多种方式 多态性也是面向对象程序设计的重要特性之一。 多态性:在基类中定义的属性和操作被派生类继承之 后,可以具有不同的数据类型或表现出不同 的行为,例如函数重载; 静态多态性:在编译过程中确定同名操作的具体对象; 动态多态性:在程序运行过程中才确定操作所针对的 具体对象; 联编(binding 绑定):把一条消息和一个对象的方法相 结合的过程,即调用成员函数; 消息:(对类的成员函数的)调用; 方法:成员函数; 静态联编:在编译阶段完成联编; 动态联编:在程序运行阶段完成联编。 4.2 类和对象 4.2.1 类的声明 类的声明即类的定义,声明一个类的语法与结构 的声明类似: class 类名 //class是声明类的关键字 { private: 私有成员函数和数据成员的说明 public: 公有成员函数和数据成员的说明 }; 各个成员函数的实现 类的成员函数用于对数据成员进行处理,又称为“方法”,程序中通过类的成员函数来访问其内部的数据成员。一般类中成员函数的原型声明写在类定义体内,用以说明该成员函数的形式参数和返回值类型,而成员函数的定义体一般写在类定义之外。通常采用下面的形式定义成员函数:
文档评论(0)