!第2章类和对象的特性范例.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
class Time {public: int hour; //时 int minute; //分 int sec; //秒 void set( ) { cinhourminutesec; } }; 执行coutsizeof(Time)endl; 输出的值是_____。 12 * 2.4 对象成员的引用 访问对象中的成员可以有3种方法: 通过对象名和成员运算符“.”访问对象中的成员; 通过指向对象的指针访问对象中的成员; 通过对象的引用变量访问对象中的成员。 * 一、通过对象名和成员运算符访问对象中的成员 一般形式为:对象名.成员名 class A { float x,y; //一般数据为私有的 public: void Setxy( float a, float b ){ x=a; y=b; } float Getx( ) { return x; } float Gety( ) { return y; } }; void main( ) { A a1; //定义对象 float x1, y1; a1.x=2.5; a1.y=5.6; //为私有成员数据赋值 x1=a1.Getx(); y1=a1.Gety();//内联函数,作置换 coutx1\ty1endl; } a1 y x 2.5 5.6 Setxy(2.5, 5.6); a1.Setxy(2.5 , 5.6); 必须通过类内公有函数访问私有成员数据 非法,私有成员不能在类外直接访问 x1 y1 2.5 5.6 不能直接调用成员函数 * 说明: 1.同类型的对象之间可以整体赋值,相当于成员数据间相互赋值,与成员数据的访问权限无关。 void main( ) { A a1, a2; a1.Setxy(2.0, 5.0); //为私有成员数据赋值 a2=a1;//同类型的对象之间可以赋值 couta2.Getx()\ta2.Gety()endl; } 2.0 5.0 a2 y x a1 y x 2.0 5.0 * 客观世界中的对象均包括属性和行为,对应到C++中,“属性”对应“数据”,“行为”对应“函数”。 客观世界中的行为需要消息来触发,比如闹钟响了,人就起床了,闹钟响就是一个消息,这个消息触发了对象的行为。在C++中如何触发行为实现一定的操作?通过函数调用来执行某种操作。 算法:对数据的操作 “对象s”表示多个对象。消息的作用就是对对象的控制。程序设计的关键是设计好每一个对象,及确定向这些对象发出的命令,使各对象完成相应操作。 设置访问限定符,以实现信息隐蔽: private(私有的):私有的数据和函数只能被内部或友元函数使用 public(共有的):内部、外部均可使用 protected(保护的):只能被内部或子类使用 一般都采用第1种方法,先声明类型,再定义对象 建议尽量使用class来建立类,写出完全体现C++风格的程序。 ::—作用域限定符,若类外定义成员函数时,未写类名,则该函数不属于任何类,而是普通函数,即全局函数。 对于有私有数据的类,一般会设置以下共有的函数:set函数(外界可通过次接口设置对象的私有数据),get函数(外界可通过此函数获得对象的私有数据),还可设置print函数(输出私有数据)。 第2章 类和对象的特性 * 第2章 类和对象的特性 2.1 面向对象程序设计方法概述 2.2 类的声明和对象的定义 2.3 类的成员函数 2.4 对象成员的引用 2.5 类和对象的简单应用举例 2.6 类的封装性和信息隐蔽 * 2.1 面向对象程序设计方法概述 C++是基于过程和面向对象的混合型语言。 基于过程的程序是由一个个函数组成的,面向对象的程序是由一个个类和对象组成的。 面向对象程序设计的主要特点: 抽象 封装 继承 多态 * 1. 对象 客观世界中任何一个事物都可以看做一个对象 班级对象 静态特征(属性):所属的系和专业、班级的人数,所住的宿舍等; 动态特征(行为):上课、开会、体育比赛等。 人对象 静态特征(属性):性别、年龄、身高、体重等; 动态特征(行为):起床、吃饭、运动、睡觉等。 * 客观世界 静态特征(属性) 动态特征(行为) 对象 C++ 对象 数据 函数(方法method) 消息触发行为 调用函数 * 2. 封装与信息隐蔽 封装 将有关的数据和操作代码(函数)封装在一个对象中,形成一个基本单位,各个对象之间相对独立,互不干扰。 信息隐蔽 将对象中封装的部分信息对外隐蔽,只留下少量接口(函数)与外界联系,这

文档评论(0)

贪玩蓝月 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档