欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第五章程序设计基础对象优秀PPT.ppt

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

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

    第五章程序设计基础对象优秀PPT.ppt

    第五章程序设计基础对象第五章程序设计基础对象第一页,本课件共有28页1、对象、对象(Object)n现实世界的实体现实世界的实体事、物、概念等,都统事、物、概念等,都统称为对象。在面向对象系统中一切成分都是称为对象。在面向对象系统中一切成分都是对象,大到整个系统、项目、数据库、表、对象,大到整个系统、项目、数据库、表、表单,小到窗口、控件都被视为对象。表单,小到窗口、控件都被视为对象。n 对象对象是一个逻辑实体,它包括是一个逻辑实体,它包括数据数据和完成和完成处理所需要的处理所需要的程序代码程序代码,是数据和代码的组,是数据和代码的组合。合。第二页,本课件共有28页对象对象 对对象象是是一一个个封封装装了了属属性性、事事件件和和方方法法的的实实体体,对对对对象象的的操操作作是通过对象的属性、事件和方法来完成。是通过对象的属性、事件和方法来完成。n 属性描述了对象的静态特征;属性描述了对象的静态特征;n 事事件件是是由由对对象象识识别别的的动动作作,一一个个事事件件产产生生后后会会触触发发相相关关联联的代码,每个对象都有特定的事件;的代码,每个对象都有特定的事件;n 方方法法,是是对对象象固固有有的的动动作作,也也就就是是已已经经编编写写好好了了的的代代码。码。第三页,本课件共有28页类类n “类类”源于日常生活中类别、分类概念。同类实体具有相同的属性和源于日常生活中类别、分类概念。同类实体具有相同的属性和行为特征。类是对一组相似对象的共同抽象描述,它将该组对象所具有行为特征。类是对一组相似对象的共同抽象描述,它将该组对象所具有的共同特征集中起来,用于说明该组对象的性质和能力。的共同特征集中起来,用于说明该组对象的性质和能力。n 可以看出,可以看出,“类类”是将相同属性和行为特征的对象,提取共同属性和是将相同属性和行为特征的对象,提取共同属性和特征而产生的,是对象抽象化的结果,是对象的蓝图和框架。特征而产生的,是对象抽象化的结果,是对象的蓝图和框架。n 而而“对象对象”是类的具体实例是类的具体实例,它是将类所描述的共同特征赋予具体实体而形,它是将类所描述的共同特征赋予具体实体而形成的。因此,类与对象既有区别,又有联系,两者关系十分紧密。成的。因此,类与对象既有区别,又有联系,两者关系十分紧密。n 所有对象的属性、事件和方法都是在定义类时被指定,由于类是定义了所有对象的属性、事件和方法都是在定义类时被指定,由于类是定义了对象特征、外观和行为的模板,所以对象由类生成,生成的对象也自然具对象特征、外观和行为的模板,所以对象由类生成,生成的对象也自然具有相同的属性、事件和方法。例如,由复选框类、单选按钮类可以生成各有相同的属性、事件和方法。例如,由复选框类、单选按钮类可以生成各种形式的复选框、单选按钮。种形式的复选框、单选按钮。第四页,本课件共有28页类的特性类的特性n1封装性封装性n 封装实际上是一种信息隐藏技术。封装实际上是一种信息隐藏技术。封装就是指将对象的方封装就是指将对象的方法程序和属性代码包装在一起。封装将操作对象的内部复杂性与法程序和属性代码包装在一起。封装将操作对象的内部复杂性与应用程序的其它部分隔离开来。应用程序的其它部分隔离开来。n 例如,我们将电话的零部件和线路封装在电话的外壳里,这样例如,我们将电话的零部件和线路封装在电话的外壳里,这样使用户看不到电话内部线路的复杂性,只专心拨号、讲话、听音,使用户看不到电话内部线路的复杂性,只专心拨号、讲话、听音,从而也产生用户对电话具有拨号、讲话、听音功能这种抽象化的从而也产生用户对电话具有拨号、讲话、听音功能这种抽象化的认识。认识。第五页,本课件共有28页面向对象程序设计的特性面向对象程序设计的特性 n2继承性继承性n 例如,由基本类型的电话(拨号、讲话、听音功能),例如,由基本类型的电话(拨号、讲话、听音功能),可以派生出电话传真机、移动电话、公用投币电话等,可以派生出电话传真机、移动电话、公用投币电话等,这些电话都继承了电话基本类型的拨号、讲话、听音功这些电话都继承了电话基本类型的拨号、讲话、听音功能,又添加了各自的独特功能。能,又添加了各自的独特功能。n 由于有了继承性,当我们把由于有了继承性,当我们把基本类型基本类型的电话由拨号的电话由拨号改为按键,改为按键,其它类型其它类型的电话的电话都都可以可以改为改为按键,继承性按键,继承性使我们不必研究每种电话如何实现按键。使我们不必研究每种电话如何实现按键。n 继承性即子类延用父类特征的能力。一个子类可以继承性即子类延用父类特征的能力。一个子类可以拥有其父类的全部功能,然后在此基础上,可以添加拥有其父类的全部功能,然后在此基础上,可以添加其他控件或功能。继承性体现了类层次中的其他控件或功能。继承性体现了类层次中的“共享共享”机制。机制。第六页,本课件共有28页面向对象程序设计的特性面向对象程序设计的特性 2继承性继承性n 由于有继承性,就可以使得在一个类上所做的改动反由于有继承性,就可以使得在一个类上所做的改动反映到它的所有子类当中,若发现类中有一个小错误,用映到它的所有子类当中,若发现类中有一个小错误,用户不必逐一修改各子类的代码,只需要在父类中改动,户不必逐一修改各子类的代码,只需要在父类中改动,然后这个变动将会体现在全部子类中。这种自动更新可然后这个变动将会体现在全部子类中。这种自动更新可节省用户的时间和精力。节省用户的时间和精力。n 若类的层次具有多层,则这种若类的层次具有多层,则这种继承性继承性还具有还具有传递作传递作用用,即下层的子类可继承其以上各层父类的全部功能。,即下层的子类可继承其以上各层父类的全部功能。第七页,本课件共有28页面向对象程序设计的特性面向对象程序设计的特性 n3多态性多态性n 例:例:F1 F12功能键,不同的软件环境对每一功能键功能键,不同的软件环境对每一功能键有不同的功能定义。同是一键在不同的软件中就会产生有不同的功能定义。同是一键在不同的软件中就会产生不同的操作,这就是多态性。不同的操作,这就是多态性。n对象之间是通过对象之间是通过“消息消息”传递实现相互联系。向某个传递实现相互联系。向某个对象发送消息,就是要求该对象执行一个操作。对象发送消息,就是要求该对象执行一个操作。n 一个消息只说明接受者应该执行哪种操作,而不说一个消息只说明接受者应该执行哪种操作,而不说明怎样去执行这个操作,操作的具体执行由消息接受明怎样去执行这个操作,操作的具体执行由消息接受者确定。者确定。第八页,本课件共有28页面向对象程序设计的特性面向对象程序设计的特性 3多态性多态性n 所谓多态性是指同一个消息可以根据接收消息的所谓多态性是指同一个消息可以根据接收消息的对象不同采用不同的操作。对象不同采用不同的操作。n 也就说,当不同的对象收到相同的消息时将产生不也就说,当不同的对象收到相同的消息时将产生不同的操作。同的操作。n 例如例如VFP中的加中的加“+”运算符,不仅可以进行数值相运算符,不仅可以进行数值相加,而且可以进行字符串相加。这完全取决于表达式加,而且可以进行字符串相加。这完全取决于表达式中加法运算符中加法运算符“+”所操作的对象的数据类型。所操作的对象的数据类型。第九页,本课件共有28页举例举例nsdie=createobject(employee)&从类派生实例(对象)从类派生实例(对象)nsdie.employeename=abcnsdie.worktime=2005-11-1n?worktme:,sdie.worktimen?sdie.workhowlong()n?sdie.employeenamen*定义类定义类ndefine class employee as customnemployeename=nworktime=2002/09/11nprocedure workhowlong()n return date()-this.worktimenendprocnenddefine第十页,本课件共有28页VFP中的基类中的基类 基类是系统内部已定义好的基本类,用户可以利用这基类是系统内部已定义好的基本类,用户可以利用这些基类创建自己的对象,或派生出子类。些基类创建自己的对象,或派生出子类。第十一页,本课件共有28页VFP 中的基类中的基类 由基类可以创建对象,对象将继承该类的功能。每由基类可以创建对象,对象将继承该类的功能。每一个对象都会对特定事件作出响应,对一些最小事件一个对象都会对特定事件作出响应,对一些最小事件(基本事件)的响应,各类是共同的。(基本事件)的响应,各类是共同的。n 事件事件它它由对象来识别由对象来识别。n 用户可以用户可以编写程序代码对相应的动作进行响应。编写程序代码对相应的动作进行响应。n 事件事件可以可以由由操作者的一个操作者的一个动作产生动作产生,如单击鼠标或,如单击鼠标或按下一个键;也可以由按下一个键;也可以由程序代码或系统产生程序代码或系统产生。第十二页,本课件共有28页VFP基类的最小事件集基类的最小事件集每个基类都可能有各自的区别于其它基类的属性、事件或方法,每个基类都可能有各自的区别于其它基类的属性、事件或方法,但但VFP基类都至少包含以下三个事件和四个属性。基类都至少包含以下三个事件和四个属性。n VFP的基类有以下最小事件集的基类有以下最小事件集所有基类都具有的事件所有基类都具有的事件组成的集合,包含这三个事件:组成的集合,包含这三个事件:n Init (初始初始):当对象创建时激活。当对象创建时激活。n Destroy(破坏破坏):当对象从内存中释放时激活。当对象从内存中释放时激活。n Error (错误错误):当类中的事件或方法发生错误时激活。当类中的事件或方法发生错误时激活。第十三页,本课件共有28页VFP基类的最小属性基类的最小属性nVFP的基类都有各自属性,但还有最小属性(最基本属性)的基类都有各自属性,但还有最小属性(最基本属性),所有基类至少所有基类至少包含以下四个属性:包含以下四个属性:n Class(类类):该类对象属于何类,返回派生对象的类名称。该类对象属于何类,返回派生对象的类名称。n BaseClass(基类基类):该类是由何基类派生而来,指定被引用对象的基该类是由何基类派生而来,指定被引用对象的基类的类名。例如类的类名。例如Form(表单表单),CommandButton(命令按钮命令按钮)或或TextBox(文本框文本框)。n ClassLibrary(类库)(类库):该类从属于哪个类库,指定用户自定义类库该类从属于哪个类库,指定用户自定义类库的文件名。的文件名。n ParentClass(父类父类):返回对象所属的父类名。返回对象所属的父类名。若该类直接由若该类直接由VFP基类派生而来,则基类派生而来,则ParentClass属性值与属性值与BaseClass属性值相属性值相同,即父类为基类。同,即父类为基类。第十四页,本课件共有28页基类中的容器类和控件类基类中的容器类和控件类 VFP的基类有两大主要类型,的基类有两大主要类型,容器类容器类和和控件类控件类。因此。因此VFP的对象也可分为的对象也可分为这两大类型。这两大类型。容器类容器类 容器类中可以包含其他对象,这些对象可以是容器类对象,也可以是控件容器类中可以包含其他对象,这些对象可以是容器类对象,也可以是控件类对象,并允许访问这些对象。类对象,并允许访问这些对象。2控件类控件类 控控件件类类也也可可以以包包含含其其他他对对象象,这这些些对对象象在在设设计计和和运运行行时时是是作作为为一一个个整整体体对对待进行修改或操作,而不能单独对其中的个别对象进行修改或操作。待进行修改或操作,而不能单独对其中的个别对象进行修改或操作。也就是说,也就是说,控件类中的对象控件类中的对象不能是容器类对象,不能是容器类对象,只能是最基本的对象只能是最基本的对象,不,不能再分隔为几个其它对象。能再分隔为几个其它对象。容器类与控件类的根本区别在于,容器类可以按层次访问容器类中的对容器类与控件类的根本区别在于,容器类可以按层次访问容器类中的对象;而控件类的对象都是同一层的对象,不能再包含下一层对象。象;而控件类的对象都是同一层的对象,不能再包含下一层对象。第十五页,本课件共有28页引用对象引用对象 VFP中引用对象可以有两种方式:中引用对象可以有两种方式:绝对引用绝对引用和和相对引用相对引用。第十六页,本课件共有28页引用对象引用对象n 对象绝对引用对象绝对引用n绝对引用是通过提供对象完整的容器层次来引用对象的。绝对引用是通过提供对象完整的容器层次来引用对象的。n例如:在嵌套的容器中,使命令按钮例如:在嵌套的容器中,使命令按钮1(Command1)可用,使命)可用,使命令按钮令按钮2(Command2)禁用,可以通过设置命令按钮的)禁用,可以通过设置命令按钮的Enabled属性来实现。属性来实现。nFormsetFormPageFrame.Page.Command1.Enabled=.T.(表单集表单页框页表单集表单页框页.命令按钮命令按钮Enabled=.T.)nFormsetFormPageFrame.Page.Command2.Enabled=.F.第十七页,本课件共有28页对象相对引用对象相对引用n 对象相对引用是通过使用一些属性和关键字,可以直接从对象某对象相对引用是通过使用一些属性和关键字,可以直接从对象某层次中引用对象。层次中引用对象。n 对象相对引用时,要表示出从哪一级对象开始引用对象,对象相对引用时,要表示出从哪一级对象开始引用对象,使用的属性和关键字含义如下:使用的属性和关键字含义如下:n Parent(父属性父属性):引用该对象所在的直接容器的属性、方法引用该对象所在的直接容器的属性、方法或控制。或控制。n THIS :引用该对象本身(直接由对象本身开始引用)。引用该对象本身(直接由对象本身开始引用)。n THISFORM :引用包含该对象的表单(由包含该对引用包含该对象的表单(由包含该对象的表单开始引用)。象的表单开始引用)。n THISFORMSET:引用包含该对象的表单集(由包含该引用包含该对象的表单集(由包含该对象的表单集开始引用)。对象的表单集开始引用)。第十八页,本课件共有28页对象相对引用对象相对引用 用于相对引用的属性和关键字,在容器层次结构中表示某个层用于相对引用的属性和关键字,在容器层次结构中表示某个层次,其引用关系为:次,其引用关系为:nTHISFORMSETTHISFORMTHISProperty (表单集表表单集表单对象属性单对象属性)n例如:例如:nTHISFORMCommand1.Caption=”确定确定”n通过通过Caption属性设置命令按钮属性设置命令按钮Command1的标题。而的标题。而Command1是包含在表单中。是包含在表单中。nTHISFORMSET.Form1.Command1.Caption=”确定确定”n设置表单集中设置表单集中Form1表单里的表单里的Command1命令按钮的标题命令按钮的标题属性。属性。第十九页,本课件共有28页设置对象属性设置对象属性n 对象的对象的属性属性既可以在既可以在设计对象时设置设计对象时设置,也可以在,也可以在程序运行时程序运行时重新设置重新设置。第二十页,本课件共有28页设置属性设置属性n设置属性值的语法是:设置属性值的语法是:nContainerObjectProperty=Value (即:容器对象属性值即:容器对象属性值)例:例:nTHISFORMImage1Visible=.T.n&设置表单中的图像设置表单中的图像1可见可见nTHISFORMImage2Visible=.F.n&设置表单中的图像设置表单中的图像2不可见不可见nTHISFORMBackcolor=rgb(192,192,192)n&设置表单的背景颜色设置表单的背景颜色第二十一页,本课件共有28页设置属性设置属性n在属性设置时,可能要为在属性设置时,可能要为一个对象设置多个属性一个对象设置多个属性,或者为同一,或者为同一容器中的多个对象设置属性,都要给出相同的层次结构中的容器中的多个对象设置属性,都要给出相同的层次结构中的从属关系(类似路径)。为此从属关系(类似路径)。为此VFP 提供了提供了WITH ENDWITH,结构语句,简化了设置多个对象、多个属性,结构语句,简化了设置多个对象、多个属性的过程。例:的过程。例:WITH THISFORMSETWITH THISFORMSETForm1Form1.Image1.Image1Visible=.T.Visible=.T.Image2.Image2Visible=.F.Visible=.F.Backcolor=RGB(255,255,0).Backcolor=RGB(255,255,0)ENDWITHENDWITH第二十二页,本课件共有28页调用对象方法调用对象方法n调用对象方法的语法:调用对象方法的语法:Object.Method 即,即,n 这里对象引用同样可以绝对引用或相对引用。这里对象引用同样可以绝对引用或相对引用。例:例:THISFORMBox(100,150)&Box方法在表单中画一个矩形方法在表单中画一个矩形,括号可不要括号可不要 THISFORMRefresh&Refresh方法刷新表单方法刷新表单n 有些方法可以返回值,方法名后要有圆括号。如果方法要使用有些方法可以返回值,方法名后要有圆括号。如果方法要使用多个参数,要把这些参数放到方法名后的圆括号内,并用逗号将多个参数,要把这些参数放到方法名后的圆括号内,并用逗号将它们分开。它们分开。n语法是:语法是:Object.Method()第二十三页,本课件共有28页编写事件代码编写事件代码n当事件发生时,该事件的代码程序(过程当事件发生时,该事件的代码程序(过程代码)就将被执行,这是对事件的响应。代码)就将被执行,这是对事件的响应。第二十四页,本课件共有28页编写事件代码编写事件代码n例如:对表单中标题为例如:对表单中标题为“确认确认”的命令按钮为其的命令按钮为其Click事件添加事件添加如下过程代码:如下过程代码:SELECT RSDAAPPENA BLANKREPLACE RSDA.姓名姓名 WITH THISFORM.TxtName.Vaule&取表单中文本框值属性数据替换取表单中文本框值属性数据替换THISFORM.Release&调用从内存中释放表单方法程序调用从内存中释放表单方法程序n 这样,当用户单击该这样,当用户单击该“确认确认”命令按钮时,将用命令按钮时,将用TxtName文本文本框的框的Vaule属性值替换表的姓名字段属性值替换表的姓名字段,然后释放表单。然后释放表单。第二十五页,本课件共有28页响应事件响应事件事件的触发方式事件的触发方式 事件有两种触发方式事件有两种触发方式n第一种,是第一种,是用户的干预用户的干预触发事件,如点击鼠标,可以产生触发事件,如点击鼠标,可以产生Click(单击单击)、DoubleClick(双击双击)、MouseMove(移动到移动到)、DragDrop(托放托放)等事等事件,按键可以产生件,按键可以产生KeyPress(按键按键)事件,这是用户实际操作的情况。事件,这是用户实际操作的情况。n第二种事件触发方式是第二种事件触发方式是VFP系统自动产生系统自动产生事件,这类事件占事件,这类事件占VFP事件的绝大事件的绝大部分。部分。n例如,当创建对象时,都会自动产生例如,当创建对象时,都会自动产生Init(初始初始)事件;释放对象时,都会事件;释放对象时,都会自动产生自动产生Destroy(释放释放)事件等。事件等。第二十六页,本课件共有28页响应事件响应事件 事件触发顺序事件触发顺序n对于一个对象可以触发多个事件,而且事件触发也有先后顺对于一个对象可以触发多个事件,而且事件触发也有先后顺序。了解事件的触发顺序,并为不同事件编写出相应的关联序。了解事件的触发顺序,并为不同事件编写出相应的关联代码,是很重要的。代码,是很重要的。n对于表单事件的顺序是对于表单事件的顺序是Load(装载装载)、Init(初始初始)、Show(显显示示)、Activate(激活激活)、GotFocus(得到焦点得到焦点)。n表单被释放时的事件顺序是表单被释放时的事件顺序是LostFocus(失去焦点失去焦点)、Dcactivate(失去活动失去活动)、Destroy(破坏破坏)、Unload(卸载卸载)。第二十七页,本课件共有28页第二十八页,本课件共有28页

    注意事项

    本文(第五章程序设计基础对象优秀PPT.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开