文档详情

第10章 面向对象的程序设计.ppt

发布:2018-04-13约4.9万字共225页下载文档
文本预览下载声明
面向对象的程序设计 面向对象是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 类和函数 本节小结 本节只是面向对象的一个起步,不需要把每个细节都了解清楚。关键是要搞懂字符串类的使用,这样就能对面向对象有一个感性的认识。 类的封装性是面向对象的三
显示全部
相似文档