第二讲面向对象的基本概念

上传人:sx****84 文档编号:243021097 上传时间:2024-09-14 格式:PPT 页数:25 大小:344KB
返回 下载 相关 举报
第二讲面向对象的基本概念_第1页
第1页 / 共25页
第二讲面向对象的基本概念_第2页
第2页 / 共25页
第二讲面向对象的基本概念_第3页
第3页 / 共25页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第二讲 面向对象的基本概念,1,对象,2 消息,3 类,1,1,对象,(,object),1.,对象的定义,例子:,米,首先,米是客观存在的东西,其次,米还有具有色泽、香味、大小、重量等特征。,其次,米还可以被食用,可以用做原料等。,米是具有自身状态和自身功能的客观存在,2,1,对象,(,object),现实世界中对象的定义,对象是现实世界中的一个实体,它具有如下特性:,有一个名字以区别于其它对象;,有一组状态用来描述它的某些特征;,有一组操作,每个操作决定它的一种功能或者行为;,对象的操作可分为两类:,一类是被动操作,即自身所承受的操作。,一类是主动操作,即施加于其它对象的操作。,对象是其自身具有的,状态特征,和对这些状态施加的,一组操作,共同构成的,独立实体,。,3,1,对象,(,object),实例:,有一位同学名叫张三,性别男,身高1.80米;体重64公斤;他会修电器,还会开汽车。,对象名: 张三,对象的状态特征:,性别:男,身高:1.80,m,体重:64,kg,对象的功能(可施加的操作):回答身高;,回答体重;,回答性别;,修理电器;,开汽车;,自身所承受的操作,施加于其它对象的操作,4,1,对象,(,object),计算机世界中对象的定义,在计算机世界中,我们把对象看成是,存储器,中一个,可标识的区域,,它能保存固定或者可变数目的,数值,(或者,数值的集合,)。,5,1,对象,(,object),对象的选择是绝对关键的一步,对象的确定与划分是否恰当将直接影响所编程序的质量;,对象的确定与划分没有唯一标准,依赖于设置对象的目的和所需进行的操作;,最基本原则:寻求事物的,共性,,将所有具有共性的,系统成分,确定为一个,对象,;,2.,对象的划分,所谓的对象划分,就是分析与确定系统中究竟应该包含哪几类对象,每个对象所起作用,以及对象与对象之间的关系。,6,唯一标识(,identify,)一个对象,是对象能够对自身以及对外部对象施加操作的基础。,对象的状态可以分为内部状态和外部状态。内部状态不能被外界对象直接操作。而外部状态则能被外界对象直接操作。,3.,对象的状态,对象的状态 自身所具有的特征。,1,对象,(,object),7,1,对象,(,object),在面向对象系统,一个对象的状态是通过“域” (也称为私有存储单元)来描述的。私有存储单元只能由对象本身来进行处理。,8,1,对象(,object),模块独立性,对象是独立存在的模块。对外提供功能,但隐藏功能实现细节。模块间依赖性极小或几乎没有,可独立为系统组合选用。,动态连接性,对象间通过,消息激活机制,动态连接起来,使整个机体运转起来。,易维护性,对功能的修改、完善被局限在对象内部,不波及外部,提高了对象和系统的可维护性。,4.,对象的特性,在面向对象系统中,对象是动态创建、活动和消亡的。系统的行为由系统内外对象之间的作用完成的。对象是构成和支撑整个,OOP,最重要的细胞与基石。具有三个特性:,9,2,消 息,1.,什么是消息?,定义:,消息是对象之间交互(相互请求和相互协作)的途径,是要求某个对象执行自身某个功能操作的规格说明。,面向对象系统示例,1,2,3,4,5,10,2,消 息,在,OOP,中,消息是向对象发出的服务请求,消息传递:控制手段,消息 = 消息名(参数),消息的发送者和接受者都是对象,在面向对象程序设计语言中,消息是对类的成员函数的调用:,对象名.方法名(参数),1.,什么是消息,?,11,2.,消息的三个性质,同一对象可接受不同形式的多个消息,产生不同的响应,相同形式的消息可以发送给不同对象,所做出的响应可以是截然不同的,消息的发送可以不考虑具体的接收者,对象可以响应消息,也可以对消息不予理会,对消息的响应并不是必须的,2,消 息,12,2,消 息,假定一批消息同属于一个对象:,公有消息,由外界对象直接向该对象发送的消息,私有,消息,由该对象向本身发送的消息,3.,公有消息和私有消息,13,2,消 息,Class,person ,private:,char name 20;,int age;,char add 40;,char sex 10;,void printName() ,void printage() ,void printadd() ,void printsex() ,public:,void print () ,print();,printName();,printage();,printadd(); printsex(); ,;,人员对象类,公有消息,私有消息,14,2,消 息,是指将所有能支持此对象可接受消息的函数集中在一起,形成的一个大消息。,让对象执行这个函数而不管它可能做什么以及怎样做。,4.,特定于对象的消息,15,2,消 息,Class,person ,private:,char name 20;,int age;,char add 40;,char sex 10;,public:,void printName() ,void printage() ,void printadd() ,void printsex() ,void print () ,void bindfunc() ,printName();,printage();,printadd();,printsex();,print();,;,公有消息,特定于对象的消息,16,2,消 息,消息,可分为3,种,类型,(,按消息处理处理划分,),:,可以返回对象的内部状态的消息;,可以改变对象的内部状态的消息;,可以做一些特定操作,改变系统状态的消息。,17,向,同一个对象发送的消息序列,向,不同对象发送的消息序列,C+,实例,5.,消息序列,在面向对象的系统中,要解决一个具体的问题,需要多个对象之间的相互作用,需要彼此间发送一系列的消息, 这一系列消息就被称为,消息序列,。,2,消 息,18,3,类,(,class),类是具有,相同属性和操作,的一组对象的集合,它为属于该类的全部对象提供了,统一的抽象描述,。,类是对一组对象的抽象,大学生学生人,红苹果苹果水果果实,类定义了这一组对象所共有的特征和行为,OOPL,中的类相当于一种数据类型,1.,类的定义,19,类是多个实例的综合抽象,类是静态的,描述一组对象的结构特征和行为特征。,实例是类的个体实物,实例对象是动态的,具有创建、活动和消亡的过程。,2.,类与实例的关系,3,类,(,class),组成类的,对象,均为此类的,实例,。类与实例的关系可以看成是,抽象,与,具体,的关系。,例,:“,这是一个苹果,”,“,这是苹果类的一个实例,”,20,3,类,(,class),同一类的不同实例之间具有如下特点,具有相同的操作集合,具有相同的属性集合,有不同的对象名,2.,类与实例的关系,21,3.,类的确定与描述,3,类,(,class),采用归纳,法,确定,类,。依据对所遇对象的分析,归纳出多个对象之间的共同特征以确定一个类。,抽象定义:,通过定义属性、操作,对客观对象进行形式化的描述说明,属性(,member,varialbe,成员变量,),行为(,member function,成员函数,),22,3,类,(,class),/,定义一个学生类,student,class,student ,private:,char *name; /,姓名(属性),int mark; /,分数(属性),char *major; /,专业(属性),void changemark( ); /,改变分数,(,操作,),protected,:,int getmark( ); /,获得分数(操作),public:,char *getname( ); /,获得姓名信息(操作),char *getmajor( ); /,获得专业信息(操作),;,例一,:学生类,属性:学号、姓名、专业、考试成绩,操作:上课、做作业、上机、考试,获得姓名,获得考试成绩,23,class,Ration ,int nume, deno;,/,属性,:,分子和分母,public:,Ration( int n, int d );,/,构造函数,Ration,Add,( Ration q );,/,/,加法,Ration,Sub,( Ration q );,/,减,法,Ration,Mul,( Ration q );,/,乘法,Ration,Div,( Ration q );,/,除法,void Print( );,/,输出,;,例二,:有理数类,属性:,分子、分母,操作:,构造、四则运算、输出,3,类(,class),24,4,作业,1.,解释以下概念,对象、消息、类、消息序列。,2.,对象有哪些特性?,3.,类与实例的关系?,25,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!