- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 面向对象的程序设计
面向对象的程序设计 面向对象是C++的重要特性。 面向对象是软件开发过程中,从具体到抽象的体现。它能够应付更大规模的软件开发。 C++并不是第一个面向对象的语言,但却是将面向对象思想发扬光大的优秀语言之一。 编写五子棋游戏的程序代码 第10章 面向对象的程序设计 10.1 对象与类、成员函数 10.2 构造函数与析构函数 10.3 友元函数与重载 10.4 继承与派生 10.5 多态性、虚函数、操作符重载 面向对象的学习路线 10.1 对象与类、成员函数 了解类和对象的概念 掌握成员数据和成员函数的概念 了解字符串类的使用 理解封装性 对象是任何具体物体 属性和操作 对于一个具体的对象来说,必然存在一些确定的属性和允许的操作。 这种属性和允许的操作通常与该对象的类型有关。 程序中的对象 在程序设计中也存在着对象。 例如一个字符串str_a,它有长度,有具体内容,可以被查找。 例如一个数组array,它有数组大小,有具体数组元素,可以被初始化。 从对象到类 每个具体的对象可以抽象为一个类。 例如先前的那辆红色轿车可以抽象为汽车; str_a可以抽象为字符串; array可以抽象为数组。 类只有抽象的概念; 对象是具体的事物。 成员数据和成员函数 对象的属性,相当于它的成员数据。其访问方式与结构变量类似,例如: int size=str_a.length; 对象的操作,相当于它的成员函数。其访问也需要使用成员操作符,例如: int position=str_a.find(“cd”); 字符串对象的使用 1.CPP 字符串的使用——运行结果 获知成员数据和成员函数 对于某些内置的类对象,可以查阅相关书籍资料,了解其成员数据和成员函数。 在Visual C++中编辑代码时,输入“对象名.”之后,就会显示其全部成员数据和成员函数。(并不是所有都可以使用) 字符串类 字符串类是C++内置的一种类,使用时需要包含string头文件,并且使用std名字空间。其常用的成员函数如下: 字符串对象的使用2.CPP #include string #include iostream using namespace std; int main() { string a(abc); //创建字符串a string b(StringB); cout Length of a= a.length() endl; //此时a的长度为3 cout a endl; //字符串a的内容为abc a.append(EFG); //在字符串末尾添加EFG cout Length of a= a.length() endl; //此时字符串长度为6 cout a endl; //字符串a的内容为abcEFG a.insert(3,b); //在字符串a第三个字符后插入字符串b cout a endl; //字符串a的内容为abcStringBEFG cout pare(ABCDEFG) endl; //字符串a与ABCDEFG比较 cout pare(a) endl; //字符串a与自己比较,相同应输出0 cout a.empty() endl; //字符串a不是空的,应输出0 a.swap(b); //字符串a和b内容交换 cout String a is a endl String b is b endl; return 0; } 字符串的使用——运行结果 电脑的机箱 机箱的主要作用是将用户的正常使用和部件的内部实现分隔开来。用户平时只需要开关和重启按钮即可正常使用。 如果让菜鸟面对一大堆“裸露”的部件,那么很可能会在使用中产生“人为故障”。 封装性(Encapsulation)——面向对象的第一大特点 类的数据不可知性和操作实现过程的不可知性称为类的封装性。 封装性是面向对象的三大特点之一。正如字符串对象,我们无法用类似数组下标的方式修改它的某一个字符。 封装性能把类的设计者和使用者分隔开,使他们在设计程序时各司其职,互不干扰。 快速回顾 是否了解类和对象的概念? 是否掌握成员数据和成员函数的概念? 是否了解字符串类的使用? 是否理解封装性? 课堂小测试 以下内容不能作为对象的是: A 一张纸 B 一本书 C 一片叶子 D 人类 课堂小测试 成员函数和成员数据对应于对象的: A 变量名和变量类型 B 操作和属性 C 类和变量 D 类和函数 本节小结 本节只是面向对象的一个起步,不需要把每个细节都了解清楚。关键是要搞懂字符串类的使用,这样就能对面向对象有一个感性的认识。 类的封装性是面向对象的三
文档评论(0)