面向对象技术中抽象性和封装性的实现.ppt

面向对象技术中抽象性和封装性的实现.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三讲 抽象性和封装性的实现 第三讲 面向对象技术?抽象性和封装性的实现 主讲:甘玲 个人主页 教师空间- 教师网站(硕士导师)- 甘玲- 研究生资料-教案讲义-第n讲 内容提要 分析面向对象程序的组成 发现对象及结构,抽象为类 面向对象程序中封装的实现 分析面向对象程序的组成 演示面向对象程序 分析吹泡泡程序 分析中国象棋 分析防空战游戏 发现对象及结构 发现对象 定义属性 确定行为 抽象为类 面向对象程序中封装的实现 类的定义 对象的声明 构造函数与析构函数 复制构造函数 静态成员 类 从语言角度来说, 类是一种自定义数据类型 对象是具有这种类型的变量 类是一种将数据和作用于这些数据上的函数组合在一起的复杂数据类型,是可重用的基本单元。 类 类是面向对象程序设计的核心,利用它可以实现对象的抽象、数据和操作的封装以及信息的隐蔽。 类定义 类定义一般分为说明部分和实现部分: 说明部分是说明该类中的成员 实现部分是对成员函数的定义 类定义的一般格式如下 : 示例类定义。 类成员包括数据成员和成员函数。 访问控制 访问权限有三种类型:private、public和protected。 三种访问权限的成员与出现的先后顺序无关,并且允许多次出现,但是一个成员只能具有一种访问属性。 成员函数的实现 成员函数是类中描述行为的成员,同时也是对封装的数据进行操作的惟一途径。 类定义的格式中,一般在类中说明成员函数原型,在类外进行成员函数的具体实现,各个成员函数的定义是类的实现部分。同时,如果成员函数已经在类中定义,则不需要在类外实现。需要注意的是,在类中定义的成员函数自动成为内联函数。 若在类体外实现,则需要使用作用域运算符“::”,用它来标识某个成员函数是属于哪个类的,其定义格式如下: 对象 对象的定义格式与普通变量相同。定义格式如下: 类成员的访问 定义了类及其对象,就可以通过对象来使用其公有成员,从而达到对对象内部属性的访问和修改。 对象对其成员的访问有圆点访问形式和指针访问形式。 构造函数和析构函数 类描述了一类对象的共同特征,而对象是类的特例。每个对象区别于其他对象的地方就是依靠它自身属性,即数据成员的值。对象在定义的时候可以进行数据成员的设置,称为对象的初始化。同样,在对象使用结束时,还可以进行一些相关的清理工作。C++中对象的初始化和清理工作,分别由两个特殊的成员函数来完成,它们就是构造函数和析构函数。 构造函数 构造函数的功能是在定义对象时被编译系统自动调用来创建对象并初始化对象。 其定义格式如下: 构造函数的特点 构造函数是成员函数,函数体可写在类体内,也可写在类体外。 构造函数的函数名与类名相同,且不指定返回值类型,它有隐含的返回值,该值由编译系统内部使用。 构造函数可以没有参数,也可以有参数,因此可以重载,即可以定义参数不同的多个构造函数。 构造函数的特点 每个类都必须有一个构造函数。如果类中没有显式定义构造函数,则编译系统自动生成一个缺省形式的构造函数,作为该类的公有成员。 程序中不能直接调用构造函数,在定义对象时编译系统自动调用构造函数。 析构函数 析构函数的功能是在对象的生存期即将结束的时刻,由编译系统自动调用来完成一些清理工作。它的调用完成之后,对象也就消失了,相应的内存空间也被释放。 析构函数也是类的一个公有成员函数,它的名称是由类名前面加“~”构成,也不指定返回值类型。和构造函数不同的是,析构函数不能有参数,因此不能重载。 其定义格式如下: 析构函数的特点 析构函数是成员函数,函数体可写在类体内,也可以写在类体外。 析构函数的函数名与类名相同,并在前面加“~”字符,用来与构造函数加以区别。析构函数不指定返回值类型。 析构函数没有参数,因此不能重载。一个类中只能定义一个析构函数。 析构函数的特点 每个类都必须有一个析构函数。如果类中没有显式定义析构函数,则编译系统自动生成一个缺省形式的析构函数,作为该类的公有成员。 析构函数在对象生存期结束前由编译系统自动调用。 示例构造函数和析构函数的执行次序、构造函数的初始化表.cpp 复制构造函数 复制构造函数是一种特殊的构造函数,它的功能是用一个已知的对象来初始化一个被定义的同类的对象。 复制构造函数的定义格式如下: 复制构造函数的特点 复制构造函数是成员函数,函数体可写在类体内,也可以写在类体外。 复制构造函数名与类名相同,并且也不指定返回值类型。 复制构造函数只有一个参数,并且是对同类对象的引用。 每个类都必须有一个复制构造函数。如果类中没有显式定义复制构造函数,则编译系统自动生成一个缺省形式的复制构造函数,作为该类的公有成员。 复制构造函数在三种情况下由编译系统自动调用。 何时要显示定义复制构造函数? 在默认

文档评论(0)

beautyeve + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档