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

    类的概念与定义.ppt

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

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

    类的概念与定义.ppt

    C+程序设计,第7章类的概念与定义,OOP概念类和对象构造函数和析构函数,类和对象构造函数和析构函数,构造函数和析构函数this指针,了解OOP技术掌握类的定义掌握对象的定义和使用掌握构造函数和析构函数的定义,7.1面向对象设计方法,传统的程序设计方法是一种结构化程序设计方法。基于功能分解,将整个软件看作是一个个子功能模块的组合。结构化的方法不能适应变化的需求,不利于软件的维护与扩充。数据和作用在该数据上的操作是相互分离的。,7.1.1 面向对象设计技术概述,1面向对象设计方法的起源,结构化,第7章类的概念与定义,7.1面向对象设计方法,7.1.1 面向对象设计技术概述,1面向对象设计方法的起源,基于对象分解基于对象分解方法设计的软件在结构上更加稳定。避免了传统程序设计中数据和操作的潜在的不一致性软件被看作是对象及其相互作用关系的组合,便于抽象思维软件的可重用性,可靠性和安全性高,面向对象(OOP),第7章类的概念与定义,7.1面向对象设计方法,7.1.1 面向对象设计技术概述,2.面向对象方法的概念,对象是对现实实体的抽象,它包括数据和操作两部分。,对象、类、消息、抽象、封装、继承、多态性等。,描述对象的性质、状态。,描述该对象的行为。,表示具有相同或相似性质的一组对象,第7章类的概念与定义,7.1面向对象设计方法,7.1.1 面向对象设计技术概述,2.面向对象方法的概念,抽象 强调事物的主要方面,忽略其次要方面。封装 对象的各种外部性质同其具体的内部实现相互分离。继承 派生新类的方法。通过继承,新类不仅具有旧类的属性和方法,而且还具有自己独有的属性和方法。多态性 在一组具有继承关系的类层次中,同一个消息发给该类及该类的子类对象时,这些对象会作出不同的响应(即一个消息,多种行为)。,第7章类的概念与定义,7.1面向对象设计方法,7.1.1 面向对象设计技术概述,3面向对象设计方法的基本步骤,系统分析阶段对系统进行对象分解,从中抽象出对象、类及子类,建立该系统对象模型。,系统设计阶段确定目标系统问题的求解策略,系统划分为子系统各个子系统的硬件和软件资源配置等,第7章类的概念与定义,7.1面向对象设计方法,7.1.1 面向对象设计技术概述,3面向对象设计方法的基本步骤,对象设计阶段完成各个对象(类)的细节处理内部数据结构表示、对象接口及其算法等。,应用程序生成阶段根据对象间的相互作用关系,完成整个系统软件构造。,第7章类的概念与定义,7.1面向对象设计方法,7.1.2 类与对象的概念和定义,1.类的概念和特征,众多的具有相同属性的事物,类,归纳、划分,桥梁树木建筑花草栅栏,场景装饰物,具体的对象,实例化,一棵梨树一棵桃树一排栅栏一棵桃树一棵梨树,第7章类的概念与定义,7.1面向对象设计方法,7.1.2 类与对象的概念和定义,1.类的概念和特征,类的6个特点:1)程序设计更有条理;2)程序的可读性更好;3)程序设计的过程真正像是机器部件的组装;4)使程序开发模块化,分工变得方便和自然;5)提高可重用性;6)引入了类(class)和对象(object)的概念,就使得C+语言与C 语言相比发生了本质的变化。,第7章类的概念与定义,7.1面向对象设计方法,7.1.2 类与对象的概念和定义,2.类的定义,C+的类是在结构体的基础上扩充而来的。在C+语言中,结构体可以被作为成员缺省为公有访问属性的类使用。,class 类名private:数据成员或成员函数protected:数据成员或成员函数public:数据成员或成员函数;,第7章类的概念与定义,7.1面向对象设计方法,7.1.2 类与对象的概念和定义,2.类的定义,注意事项:1)class是定义类的关键字,类名必须是C+的有效标识符,但一般首字母大写;2)大括号的部分是类的成员(数据成员和函数成员),分别由private、public、protected三个关键字后跟冒号来指定访问属性。可以任何顺序出现任意次,这3部分并非必须同时出现;3)只有类中的成员函数才能使用private的数据成员和成员函数;,第7章类的概念与定义,7.1面向对象设计方法,7.1.2 类与对象的概念和定义,2.类的定义,4)public部分说明的数据成员或成员函数可被程序中的任何函数或语句调用,public成员多为成员函数;5)protected部分说明的数据成员和成员函数是不能在类之外调用的,只有类的成员函数及其子类(派生类)可以存取protected的成员;6)当未指明成员是哪部分时,默认是属于private成员,但一般不要采用;7)在类的定义中,类的说明部分的右边大括号后面必须有一个“;”。,第7章类的概念与定义,7.1面向对象设计方法,7.1.2 类与对象的概念和定义,3.成员函数的定义,将成员函数的定义直接写在类中。,class Recordprivate:char bookname20;int number;public:void regist(char*a,int b)/成员函数regist()的定义 strcpy(bookname,a);/给数据成员bookname赋值 number=b;/给数据成员number赋值/,第7章类的概念与定义,7.1面向对象设计方法,7.1.2 类与对象的概念和定义,3.成员函数的定义,在类定义之外定义成员函数 在类的定义体中只写出成员函数的原型说明,而成员函数的定义写在类的定义之后。,返回值类型 类名:成员函数名(参数说明)函数体,通常将类的定义写在文件(.h文件)中,该文件称为头文件成员函数的定义写在另一个文件(.cpp文件)中,称为类文件,注:在类文件中,一定要使用“include”语句包含对应的头文件,否则,将会出现找不到成员函数或类成员的错误。,第7章类的概念与定义,7.1面向对象设计方法,7.1.2 类与对象的概念和定义,3.成员函数的定义,class Record/定义图书类Record private:char bookname20;int number;public:void regist(char*a,int b);/成员函数regist的原型;void Record:regist(char*a,int b)/regist()是类Record的成员函数 strcpy(bookname,a);number=b;,第7章类的概念与定义,7.1面向对象设计方法,7.1.2 类与对象的概念和定义,4.对象的定义和使用,类名 对象名;,对象是类的实例,定义对象的方法和定义基本类型的变量一样:,Record book1,book2;/此处的book1,book2就是Record/类型,也就是类的两个对象book1.regist(“C+编程教程”,1001);/调用成员函数regist,/给book1的两个数据成员bookname和number赋值book2.regist(“C+语言参考”,1002);/调用成员函数regist,给book2的两个数据成员赋值,第7章类的概念与定义,7.1面向对象设计方法,7.1.2 类与对象的概念和定义,5.this指针,void Record:regist(char*a,int b)/regist()是类Record的成员函数 strcpy(bookname,a);/访问当前对象成员 bookname number=b;/访问当前对象成员 number,成员函数中,可以直接访问类成员。隐含解释为是对“当前调用者对象”的成员进行访问或使用。,类的非静态成员函数必须通过对象进行调用。,成员函数中“this-”“(*this).”可以省略,第7章类的概念与定义,7.1面向对象设计方法,7.1.3 构造函数与析构函数,1构造函数的作用及实现,直接赋值,person p1=Zhang Hua,23,2475096,NanKai University;,直接赋值的类应该满足:所有数据成员都是公有的没有声明任何构造函数的,对象也被称为类变量,一个类的对象是这个类的一个实例。可以有多种赋值方式。,第7章类的概念与定义,7.1面向对象设计方法,7.1.3 构造函数与析构函数,1构造函数的作用及实现,公有的初始化函数,public:void initpoint()xcoord=0;ycoord=0;,定义一个专用的初始化函数,该函数可以有若干个参数。,第7章类的概念与定义,7.1面向对象设计方法,7.1.3 构造函数与析构函数,1构造函数的作用及实现,构造函数,C+规定在类的说明中可以包含一个或多个特殊的公有函数成员构造函数,1)函数名与类名相同;2)无函数(返回)类型说明;3)构造函数在一个新的对象被建立时,该对象所隶属类的构造函数自动地被调用,对这个对象完成初始化工作;,第7章类的概念与定义,7.1面向对象设计方法,7.1.3 构造函数与析构函数,1构造函数的作用及实现,构造函数,4)在上一条中提到的新对象的建立包括两种情况:一种是在对象说明语句中,一种是用new 函数建立新的动态对象时;5)如果一个类说明中没有给出显式的构造函数,系统将自动给出一个缺省的(隐式的)构造函数:6)如果说明中包括多个构造函数,一般它们有不同的参数表和函数体。,(void),第7章类的概念与定义,7.1面向对象设计方法,7.1.3 构造函数与析构函数,1构造函数的作用及实现,成员初始化列表,一些特殊情况下数据成员只能用初始化,而不能被赋值。量成员引用型的成员,point(float ix,float iy):xcoord(ix),yCoord(iy),第7章类的概念与定义,7.1面向对象设计方法,7.1.3 构造函数与析构函数,2析构函数的作用及实现,1)析构函数名一律为“类名”,如“point”;2)析构函数无函数返回类型;3)析构函数没有参数;4)一个类只可有一个析构函数,也可以缺省;5)在对象生存期结束时,包括用delete函数释放动态对象时,系统自动调用析构函数;6)若某个类定义中没有给出显式的析构函数的话,则系统自动给出一个缺省的(隐式的)如下形式的析构函数:,(void),第7章类的概念与定义,小结,本章主要讲解C+面向对象基础知识OOP概念类和对象构造函数和析构函数,第7章类的概念与定义,自测题,1以下对this指针描述正确的是()。A.this指针指向的是一个类B.this指针指向的是一个对象C.this指针必需也在类中显式的实现后才能使用D.可以通过对象名来调用this指针D.可以通过对象名来调用this指针2可以将现实生活中的对象经过抽象,映射为程序中的对象,对象在程序中是通过一种抽象数据类型来描述的,这种抽象数据类型称为()。A.对象B.类C.成员D.函数3面向对象系统的哪个特征是一种信息隐藏技术,目的在于将对象的使用者与设计者分开,使用者不必知道对象行为实现的细节,只需用设计者提供的协议命令对象去做即可()。A.多态性B.封装性C.继承性D.复用性,第7章类的概念与定义,自测题,1以下对this指针描述正确的是(B)。A.this指针指向的是一个类B.this指针指向的是一个对象C.this指针必需也在类中显式的实现后才能使用D.可以通过对象名来调用this指针2可以将现实生活中的对象经过抽象,映射为程序中的对象,对象在程序中是通过一种抽象数据类型来描述的,这种抽象数据类型称为(B)。A.对象B.类C.成员D.函数3面向对象系统的哪个特征是一种信息隐藏技术,目的在于将对象的使用者与设计者分开,使用者不必知道对象行为实现的细节,只需用设计者提供的协议命令对象去做即可(B)。A.多态性B.封装性C.继承性D.复用性,第7章类的概念与定义,课后作业,【作业1】实现一个猎人类,实现两个行为,一个是打兔子,一个是显示当前他的猎物的数量,要求所有函数用内联函数实现。【作业2】设计一个立方体类Box,它能计算并输出立方体的体积和表面积。【作业3】设计一个Bank类,实现银行某账号的资金往来账目管理,包括建账号、存入、取出等。【作业4】设计一个英雄类和一个怪物类,还有一个AI类,AI类用于实现在不同情况下对英雄和怪物的伤害计算,把它作为英雄类和怪物类的友元类。,第7章类的概念与定义,

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开