【php精品源码栏目提醒】:网学会员--在 php精品源码编辑为广大网友搜集整理了:【精品】第三讲面向对象技术中抽象性和封装性的实现 - 其它资料绩等信息,祝愿广大网友取得需要的信息,参考学习。
第三讲 面向对象技术抽象性和封装性的实现 主讲:甘玲 个人主页 http://cs.cqupt.edu.cn 教师空间- 教师网站(硕士导师)- 甘玲- 研究生资料-教案讲义-第n讲 2013-8-18 第三讲 抽象性和封装性的实现 2 内容提要 分析面向对象程序的组成 发现对象及结构,抽象为类 面向对象程序中封装的实现 2013-8-18 第三讲 抽象性和封装性的实现 3分析面向对象程序的组成 演示面向对象程序 分析吹泡泡程序 分析中国象棋 分析防空战游戏 2013-8-18 第三讲 抽象性和封装性的实现 4 发现对象及结构 发现对象 定义属性 确定行为 抽象为类2013-8-18 第三讲 抽象性和封装性的实现 5面向对象程序中封装的实现 类的定义 对象的声明 构造函数与析构函数 复制构造函数 静态成员 2013-8-18 第三讲 抽象性和封装性的实现 6 类 从语言角度来说, – 类是一种自定义数据类型 – 对象是具有这种类型的变量 类是一种将数据和作用于这些数据上的 函数组合在一起的复杂数据类型,是可 重用的基本单元。
2013-8-18 第三讲 抽象性和封装性的实现 7 类 类是面向对象程序设计的核心,利用它 可以实现对象的抽象、数据和操作的封 装以及信息的隐蔽。
2013-8-18 第三讲 抽象性和封装性的实现 8 类定义 类定义一般分为说明部分和实现部分: – 说明部分是说明该类中的成员 – 实现部分是对成员函数的定义 类定义的一般格式如下 : class public: private: 说明部分 protected: 实现部分 2013-8-18 第三讲 抽象性和封装性的实现 9 示例类定义。
类成员包括数据成员和成员函数。
2013-8-18 第三讲 抽象性和封装性的实现 10 访问控制 访问权限有三种类型:private、public 和protected。
三种访问权限的成员与出现的先后顺序无 关,并且允许多次出现,但是一个成员只 能具有一种访问属性。
2013-8-18 第三讲 抽象性和封装性的实现 11 成员函数的实现 成员函数是类中描述行为的成员,同时也是 对封装的数据进行操作的惟一途径。
类定义的格式中,一般在类中说明成员函数 原型,在类外进行成员函数的具体实现, 各个成员函数的定义是类的实现部分。
同 时,如果成员函数已经在类中定义,则不需 要在类外实现。
需要注意的是,在类中定义 的成员函数自动成为内联函数。
2013-8-18 第三讲 抽象性和封装性的实现 12 若在类体外实现,则需要使用作用域运 算符“::”,用它来标识某个成员函数是 属于哪个类的,其定义格式如下: ::() 2013-8-18 第三讲 抽象性和封装性的实现 13 对象 对象的定义格式与普通变量相同。
定义 格式如下: 其中,中可以有一个或多个对象 名。
当有多个对象名时,用逗号分隔。
中还可以是指向对象的指针名或引用名, 也可以是对象数组名。
2013-8-18 第三讲 抽象性和封装性的实现 14 类成员的访问 定义了类及其对象,就可以通过对象来使 用其公有成员,从而达到对对象内部属性 的访问和修改。
对象对其成员的访问有圆点访问形式和指 针访问形式。
. - 2013-8-18 第三讲 抽象性和封装性的实现 15 构造函数和析构函数 类描述了一类对象的共同特征,而对象是类 的特例。
每个对象区别于其他对象的地方就 是依靠它自身属性,即数据成员的值。
对象 在定义的时候可以进行数据成员的设置,称 为对象的初始化。
同样,在对象使用结束时, 还可以进行一些相关的清理工作。
C中对 象的初始化和清理工作,分别由两个特殊的 成员函数来完成,它们就是构造函数和析构 函数。
2013-8-18 第三讲 抽象性和封装性的实现 16 构造函数 构造函数的功能是在定义对象时被编译 系统自动调用来创建对象并初始化对象。
其定义格式如下: :: 2013-8-18 第三讲 抽象性和封装性的实现 17 构造函数的特点 构造函数是成员函数,函数体可写在类体内, 也可写在类体外。
构造函数的函数名与类名相同,且不指定返回 值类型,它有隐含的返回值,该值由编译系统 内部使用。
构造函数可以没有参数,也可以有参数,因此 可以重载,即可以定义参数不同的多个构造函 数。
2013-8-18 第三讲 抽象性和封装性的实现 18 构造函数的特点 每个类都必须有一个构造函数。
如果类 中没有显式定义构造函数,则编译系统 自动生成一个缺省形式的构造函数,作 为该类的公有成员。
程序中不能直接调用构造函数,在定义 对象时编译系统自动调用构造函数。
2013-8-18 第三讲 抽象性和封装性的实现 19 析构函数 析构函数的功能是在对象的生存期即将结 束的时刻,由编译系统自动调用来完成一 些清理工作。
它的调用完成之后,对象也 就消失了,相应的内存空间也被释放。
析构函数也是类的一个公有成员函数,它 的名称是由类名前面加“”构成,也不指 定返回值类型。
和构造函数不同的是,析 构函数不能有参数,因此不能重载。
2013-8-18 第三讲 抽象性和封装性的实现 20
上一篇:
LINUX下的LAMP编译安装(apache+php+mysql)
下一篇:
电咖汽车入选2018独角兽企业榜百强 发布“天际”品牌将推高估值