欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    类与对象一教学课件.ppt

    • 资源ID:6329501       资源大小:378.32KB        全文页数:36页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    类与对象一教学课件.ppt

    第十讲 类与对象(一),导言10.1 C+类的构成10.2 类和对象10.3 构造函数和析构函数,类的概念是面向对象程序设计的核心概念,SP设计中以函数为程序的基本模块,OOP设计中以类作为程序的基本模块。,C+中通过class把数据以及对这些数据进行处理和运算的函数封装为互相关联的程序模块。,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,C+中一个由数据成员和函数成员组成的类就是一种新的数据类型,对象就是类的实体,也就是相对应于新数据类型的变量。,C+由于引入了类,类具有继承机制,使得程序设计的可重用性大大提高。,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,类的说明,格式:class private:;protected:;public:;,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,例1:class point private:int x,y;protected:void readpoint(int vx,int vy);public:void setpoint(int vx,int vy);,类成员包括私有成员、保护成员和公有成员,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,私有成员性质,可以是成员变量也可以是成员函数只限于通过本类的成员函数来访问当私有段成员位于类声明中的第一部分时,关键字private可以省略。,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,保护成员性质,可以是成员变量也可以是成员函数可以在本类内和派生类内引用,不能在类外引用关键字protected在任何情况下均不能省略,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,公有成员性质,可以是成员变量也可以是成员函数可在类内引用,也可以在类外(由对象)引用提供了类的外部界面,即通过类的公有成员来访问这个类。关键字public在任何情况下均不能省略,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,例2:class point private:float Xcoord,Ycoord;public:void SetX(float x)Xcoord=x;void SetY(float y)Ycoord=y;float GetX(void)return Xcoord;,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,float GetY(void)return Ycoord;int main()point p1,p2;p1.setX(3.5);p1.setY(4.7);p2.setY(p1.GetX);p2.setX(p1.GetY);return 0;,p1.Xcoord=3.5;p1.Ycoord=4.7;(错误)见206页的解释,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,设置成员访问控制的作用,通过设置各成员的私有性质和公有性质等,可以进行类成员的访问控制。例如通过将数据成员和函数成员设为私有,可以保证程序运行的安全性。把函数和它所处理的数据封装到一起,使得程序中大量的操作、运算、处理等得到最合理的划分,可以使程序模块的可重用性加强。,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,成员函数的声明和实现,通常在类定义体中声明成员函数,而在别处实现它。在类中声明成员函数时,它所带的函数参量可以只指出其类型在类之外实现成员函数时,必须在函数名之前缀上类名。,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,例3:class string private:/可以省略 int length;/length和contents为私有成员 char*contents;public:/公有段开始 int set_contents(char*);/*在声明成员函数时,可以只指出参数类型*/int get_length();char*get_contents();,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,/具体成员函数的定义int string:set_contents(char*conts)int i=0;contents=conts;while(*conts+!=0)i+;length=i;return 1;,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,类与对象,类在概念上是一种抽象机制,它抽象了一类对象的存储和操作特性。,C+中,可以把具有相同内部存储结构的和相同一组操作的对象看成属于同一类。,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,类与对象的关系可以用整型int和整型变量i之间的关系来类比。类和整型int均代表一般的概念,而对象和整型变量i却是代表具体的东西。,在指定一个类后,往往把属于这个类的对象称为类的实例。实际上对象和实例表达的是一个意思。,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,类的使用,使用一个类,实际上是创建一个此类的对象,之后使用它的公有成员来达到对此类对象作用的目的。,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,例4:class point int x,y;public:void setpoint(int vx,int vy)x=vx;y=vy;void main()point p1;p1.setpoint(10,10);point*p2;p2=new point;p2-setpoint(10,10);,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,为了使用户定义的数据类型如同一般数据类型一样使用,需要在对象被定义时对对象初始化。构造函数和析构函数就是为此目的而设置的。,(1)构造函数,构造函数是类的一个特殊成员函数,它的函数名与类名相同,但不能具有返回类型。当创建一个对象时,系统自动调用构造函数,它完成类对象的初始化。,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,构造函数的声明和定义,例5:class simplestring char string;int length;public:simplestring;/声明构造函数;simplestring:simplestring()/构造函数对其私有变量赋初值 string=;length=0;,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,定义构造函数应注意的问题,构造函数名字必须与类名相同,否则编译程序将把它当作一般的成员函数来处理。,构造函数没有返回值,在声明和定义构造函数时是不能说明它的类型的。,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,构造函数的功能是对对象进行初始化,因此在构造函数中只能对数据成员做初始化,这些数据成员一般为均为私有成员,在构造函数中一般不做赋初值以外的事情。,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,带参数的构造函数,前面介绍的构造函数是不带参数的,也就是对对象的初始化是固定的。,可以在构造函数中采用参数,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,例6:class set int elems100;int size;int card;public:set(int i=16);set:set(int i)size=i;,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,void main(void)set s1(64);set s2(16);set s3(8);,定义对象时必须传递参数,带缺省参数的构造函数,前面介绍的带参数的构造函数在定义对象时必须给带参数的构造函数传递参数,否则构造函数将不被执行。,在有些构造函数的使用中,只有特别的情况需要传递参数,一般都使用缺省值。,缺省参数并不只用于构造函数,一般的成员函数都可以使用缺省参数。,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,例6:class point int x,y;public:point(int vx=0,int vy=0)x=vx;y=vy;/;void main(void)point p1;/全部使用缺省值/*传递一个参数,使用一个缺省参数*/point p2(10);point p3(10,20);/传递两个参数,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,多构造函数,前面所介绍的构造函数都是在一个类中只具有一个,但有时在一个类中可以具有几个构造函数,这些构造函数之间以它们所带参数的个数或类型的不同而区分,实际上就是函数的重载。,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,例7:class x/public:x();/不带参数的构造函数 x(int);/x(int,char);/x(float,char);/;void main(void)x a;x b(1);x c(1,c);x d(3.5,d);,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,(2)析构函数,析构函数是类的特殊的成员函数,它的名字是前面加了一个符号“”的类名。析构函数没有任何参数,也无任何返回类型。,在删除对象自身之前,析构函数被调用来释放动态分配的且由指针对象成员指向的存储。,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,例8:class xincludeclass string int length;char*contents;public:string(char*s);string();,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,string:string(char*s)if(s)length=strlen(s);/获取字符串的长度 contents=new charlength+1;/为字符串分配存储 strcpy(contents,s);else length=0;contents=0;,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,string:string()delete contents;/释放字符串contents所占的存储,main()char*p=“this is mine”;string mystring1(p);,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,课堂自习P202.7.1节栈类的设计。P212.程序program7-3.cpp。P213.程序program7-4.cpp。,导言10.1C+类的构成10.2 类和对象10.3 构造函数和析构函数,作业,思考题:2、3、8、9、12、13(书面),练习题:1、2、3、4(上机),

    注意事项

    本文(类与对象一教学课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开