资源预览内容
第1页 / 共53页
第2页 / 共53页
第3页 / 共53页
第4页 / 共53页
第5页 / 共53页
第6页 / 共53页
第7页 / 共53页
第8页 / 共53页
第9页 / 共53页
第10页 / 共53页
亲,该文档总共53页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2019/5/26,江苏大学工商管理学院信息管理系宋根平,第7章 面向对象设计基础,7.1 对象(Object)和类(Class) 7.2 对象属性和方法的处理 7.3 事件驱动模型和常用方法 习题,主要内容,返回目录,21世纪高职高专规划教材,2019/5/26,江苏大学工商管理学院信息管理系宋根平,面向对象设计基础,面向对象的程序设计和编程技术是建立在事件驱动的模型上的,它是基于问题对象的自底向上的功能综合,并将过程和信息组合成单元(类和对象),程序的设计是通过对类、子类和对象等的设计来实现的。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,7.1 对象(Object)和类(Class),对象和类是面向对象程序设计中的最重要的概念。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,7.1.1对象,客观世界里的任何实体都可以被看作是对象。对象在VFP中主要指表单、表单集及各种控件。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,表单,用户看到的各种窗口和对话框。 表单集:包含一个或多个表单的集合。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,控件,放在表单上用以显示数据、执行操作或使表单更易阅读的一种图形化对象。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,对 象,对象是属性与行为(即数据和操作)的封装体。每个对象都有属性以及与之相关的事件和方法 ,我们通过它们来处理对象。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,属性(Property),对象的属性描述对象的特性和状态,它具有以下几个特征: 每个对象都有属性,它是由对象所基于的类决定的。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,属性(Property),用户可自定义属性,对象除了拥有它基于的类的属性以外,还可以由用户自己定义新的属性。 属性的值可以在设计时或在运行时进行设置。 通常对象在创建时,其属性都有一个默认值。 对象可以通过基类直接产生。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,基类的最小属性集,Class:该类属于何种类型。 BaseClass:该类的基类。 ClassLibray:该类从属于的类库文件。 ParentClass:该类的父类。如果该类是直接由基类派生而来,那么ParentClass和BaseClass的属性值是相同的。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,(2) 事件(Event),对象不仅具有状态特征,同时还存在着行为特征,这些行为称为事件,也就是说事件是对象可识别的一个动作,并通过执行事件相应的程序代码(系统自带的程序或者用户编写的程序)来对此动作进行响应。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,基类的最小事件集,Init:当对象创建的时候触发。 Destroy:当对象从内存中释放时触发。 Error: 当事件或方法程序中出现错误时触发。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,(3)方法 (Method),方法是对象能够执行的一个操作,是与对象相关联的过程或函数。用户可自定义方法。 事件可以具有与之相关联的方法,当事件被触发时,相关的方法程序代码被执行,完成一个指定操作任务。 方法也可以独立于事件而单独存在,但它在系统中要被显式地调用,即使用调用方法的专用命令语句来执行该方法程序。 方法必须在对象内的事件中调用,是对象的内部描述。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,7.1.2类,我们将具有相同的属性和操作,并遵守相同规则的对象聚合在一起,这组对象称为类。 对象和类的概念是很相近的,但是它们又是不同的。类是对象的抽象描述,对象是类的实例。在VFP中,类就像是一个模板,对象都是根据类生成的,因此对象具有了它所基于的类的所有的属性、事件和方法,并且用户可以重新设置属性值,新建属性和方法,还可以修改已有方法的程序代码。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,2基类(Base Class),VFP系统提供的类叫基类,它可以作为其它类的派生基础或对象的生成基础。 由某个类派生的类叫这个类的子类(Subclass)。 父类:派生出其子类的类。可以是基类,也可是基类的子类。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,VFP的基类,容器类:包容其他类的基类。容器类可以包含控件类对象,并且允许访问这些对象。容器类也可以包含其他容器类,对被包含容器类中的控件类,访问方法与直接访问控件类是类似的。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,控件类(非容器类),包含在容器类中的基类,不能容纳其它类,或者其组件不能被单独修改或操作,2019/5/26,江苏大学工商管理学院信息管理系宋根平,Visual FoxPro V6.0中的容器类,表单集(Formset) 表单(Form) 命令按钮组(CommandGroup) 选项按钮组(OptionGroup) 页框(PageFrame) 页面(Page) 表格(Grid) 表格列(Column) 工具栏(ToolBar) 容器(Container),2019/5/26,江苏大学工商管理学院信息管理系宋根平,表单集(Formset),表单集是一个包含表单的容器,在表单集这个容器中用户可以定义所需求的表单个数。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,表单集具有的主要通用属性,Visible 指定对象是可见(.T.)还是隐藏(.F.)。系统默认为可见。 Name 指定在代码中引用对象时所用的名称。设计时可用字符串定义与修改。运行时可读。当新建一个对象时,自动将对象变量名定义为对象名称。 Class 返回一个对象所基于的类的名称。设计和运行时只读。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,表单集具有的Parent属性,Parent引用一个控件的容器对象,即这个容器对象来源于哪个基类。设计时不用,运行时只读。使用这个属性可以访问一个控件所属容器对象的属性、方法或事件。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,表单集具有的Parentclass属性,Parentclass返回对象所属的基类,设计和运行时只读。 DataEnvironment 设定数据环境。 这些属性在其他类中起到相同的作用,其中Visible 和 Name是最常用的属性。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,表单集还有其自身所特有的属性,Formcount 规定存放在表单集中表单的个数,表单也是一个容器,所以实际上相当于定义了一个存放表单控件的数组。该属性设计时不可用,运行时只读。可利用这个属性循环遍历表单集中的所有表单,并执行某些操作。 Forms 用于访问表单集中单个表单对象的数组,2019/5/26,江苏大学工商管理学院信息管理系宋根平,表单集还有其自身所特有的属性,AlwaysOnTop AutoCenter Backcolor Border Style Caption Closable ControlBox,Forecolor Fontname Height Left Windowtype MinButton,Top Width Tabindex Maxbutton Movable Enabled,2019/5/26,江苏大学工商管理学院信息管理系宋根平,表单(Form),表单是表单设计的容器,用于数据输入格式的设计中,也称为屏幕格式设计。表单的属性决定了表单的外观特性。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,命令按钮组CommandGroup),该容器类用于创建一组命令按钮。Buttoncount 规定命令组按钮框中的按钮个数。 AutoSize 自动按容器内的控件的大小收缩其边框。 Bordcolor 指定对象的边框颜色。 Bordstyle 指定对象的边框样式。用数字分别表示不同类型的边框线 。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,选项按钮组(OptionGroup),选项按钮组是包含选项按钮的容器类。通常,选项按钮组允许用户从指定对话框中的几个操作选项中选出一个。 选项按钮组特有的主要属性是Buttoncount ,它规定选项按钮组中的选项按钮个数。选项按钮组选定某个选项按钮时,将释放先前的选择,同时使您的选择成为当前值。选项按钮旁边的圆点指示当前的选择。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,页框 (PageFrame),页框是包含页面的容器类,页面又可包含控件对象。可以在页框、页面或控件级上设置属性。可以把页框想象为有多层页面的三维容器。只有最上面的页面中的控件才可见和进行操作。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,页面(Page),页面可以包含任意控件、容器和自定义对象。页面类是一种比较特殊的类,在类设计时,不能根据页面类派生其子类,即不能子类化,2019/5/26,江苏大学工商管理学院信息管理系宋根平,表格(Grid),表格是按行和列显示数据的容器对象,其外观与浏览窗口相似。列可以包含标头对象及数据操作控件。 表格的常用属性有: RecordSource 指定表格的数据源。 RecordSourceType 指定表格的数据源类型。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,表格属性,ColumnCount 设置表格的列数。(默认值为-1,表示表格为一个整体,不能分别对各列进行设置)。 DeleteMark 指定表格控制中是否出现删除标记的列。 DynamicFontName 确定列中文本显示所用的字体名。 DynamicFontSize 确定列对象中文本字体的大小。 DynamicForeColor 确定列对象的前景色,2019/5/26,江苏大学工商管理学院信息管理系宋根平,列(Column),列容器只能在表格(也称为网格)容器中,是随着表格容器的创建而存在。Controlsource 指定该列的数据源。 Currentcontrol 指定该列的默认对象。 Sparse 指定currentcontrol所设定的对象在当前储存格显示(.T.)还是在所有储存格中显示(.F.)。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,工具栏 (ToolBar),工具栏是由用户操作按钮组组成。在实际应用程序中往往有一些重复执行的任务,并且该任务在系统菜单中已经存在对应功能按钮,那么可以通过创建用户自定义的工具栏提供用户的操作服务,简化操作,加速任务的执行,同时也简化了应用系统软件的结构、软件代码的设计编制和维护工作,将分散在不同层次的系统功能操作菜单按用户的实际需要有机地组合起来。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,容器(Container),容器可以包含任意控件对象。 控件类(非容器类) 可以包含在容器类中的基类,不能容纳其它类,或者其组件不能被单独修改或操作。,2019/5/26,江苏大学工商管理学院信息管理系宋根平,VFP基本控件,2019/5/26,江苏大学工商管理学院信息管理系宋根平,3类的特点,(1)继承性:子类延用父类特征的能力 (2)多态性:允许相关的对象对同一消息做出不同反应,具体做出什么反应,是在运行时根据对象的类确定的 (3)封装性:说明包含和隐藏对象信息(如内部数据结构和代码)的能力。,返回,2019/5/26,江苏大学工商管理学院信息管理系宋根平,7.2 对象属性和方法的处理,1对象的引用 2设置对象属性值 3调用对象的方法程序,返回,2019/5/26,江苏大学工商管理学院信息管理系宋根平,7.3 事件驱动模型和常用方法,事件驱动模型 在面向对象的程序设计中,经常要为对象或对象的某些事件编写的事件处理程序代码,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号