面向对象可视化编程基础.ppt_第1页
面向对象可视化编程基础.ppt_第2页
面向对象可视化编程基础.ppt_第3页
面向对象可视化编程基础.ppt_第4页
面向对象可视化编程基础.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 Visual FoxPro 2 Visual FoxPro 本节要求 1.目的、要求 (1) 掌握面向对象程序设计的基本概念:类、对象、 事件、方法、属性 (2) 了解面向对象程序设计思想 (3) 了解面向对象程序设计的设计方法 2. 重点、难点 重点:面向对象程序设计基本概念的理解。 难点:面向对象程序设计的设计方法。 总 学 时:理论(2学时) 3 Visual FoxPro 4.2 面向对象程序设计和可视化 设计工具使用 面向过程程序设计:就是前面所介绍的结构化程序设计, 结构化程序设计强调了功能抽象和模块性,它将解决问题的过 程看作是一个处理过程。数据和施加于数据上的操作是分别设 计的,以对数据进行操作的过程作为程序的主体。 4.2.1 面向对象程序设计的基本思 想与VFP的实现方法 1. 面向对象程序设计的基本思想 4 Visual FoxPro 面向对象程序设计:将数据及对数据的操作放在一起,作 为一个相互依存,不可分割的整体来处理,它将对象及对对象 的操作抽象成对象属性和对象方法,这些对象的属性就是要处 理的数据,而对象的方法就是对这些数据进行操作,面向对象 程序设计就是通过对对象属性方法的设置,达到对对象操作的 目的。 基本概念:对象、类、子类、继承、属性、方法、事件等 。 面向对象程序设计: Object Oriented Programming简称为OOP (1) 对象(Object) 对象(Object):是组成程序的构件。作为程序构件的“对 象”是对现实世界中一个实体的一种模拟工具。例如:一个人,一 个命令按钮等都是对象。 5 Visual FoxPro 对象是反映客观事物属性及行为特征的描述。每个对象都 具有描述它的特征的属性,及附属于它的行为。一个人有姓名 、性别、出生年月,命令按钮有高度、宽度、颜色等。 每个对象有自己的行为:如人可以站立、行走,命令按钮 可以单击、双击等。 (2) 属性(ATTRIBUTE) 属性:是对象的一组特征数据。 每个对象都有多个属性来描述,不同的对象可以有相同 的属性,但必须有不同的属性值来区分他们。 例如:一个人有姓名、年龄、身高、体重等属性,对象张 三和对象李四具有相同的属性,但他们有不同的属性值,至少 一个姓名属性值为“张三”,另一个为“李四”。 6 Visual FoxPro 在Visual FoxPro中,一个对象的属性就是该对象的一项 数据特性。 例如:一个标签对象Label1,有字体(FontSize)、标题 (Caption)、字体大小(FontSize)等属性,同样,不同的标 签对象间,必定有不同的属性值来区分它们。 (3) 事件(Event) 与方法(Means) 事件:事件是对象可能作出的行为或动作,属于对象的 静态特征。它是预先定义好的动作,通过用户的操作或系统来引 发,事件是通过用户的交互操作产生的。在VFP统中,对象可以 响应50多种事件。 例如:一个人的坐、立、走都是人可以作出的动作。如命 令按钮的事件,系统规定了包括了单击(click)、右键单击( rightclick)等。7Visual FoxPro 方法:对象的方法是对于对象行为的描述。 VFP中每个对象都可以有若干个方法,相同类型的对象具有 相同的方法,不同类型的对象也可以具有相同的方法。 事件与方法的区别和联系 事件和方法是两个不同的概念。 事件:是预先定义好的动作,是由用户或系统引发的,是 先有用户的操作,然后才有事件的发生; 方法:方法可以看作是对象具有的行为能力,它是对象用 来实现某一任务的途径。 例如:在对象上单击鼠标会执行一个相应的命令或一段相 应的程序,则有这个命令或这段程序就是这个对象的方法。 8 Visual FoxPro 正常情况下,激活一个事件,将执行相应的方法。 如果这个事件没有事先定义,则不可能发生这个事件; 如果定义了事件,而事件的方法没有事先设置,则对对象 发生事件时不会有任何反映。 方法靠事件进行引发,所以二者是相互依赖,相辅相成的 。 例如:乘客登上飞机,触发了一个“登机”的事件;飞机在 飞行,是飞机这个对象,在执行“飞行”这个方法,飞机具有飞 行的能力。 所以“登机”是一个事件,而“飞行”则是方法。 事件与方法紧密联系 9 Visual FoxPro 类的定义 “类”:是具有相同属性特征和行为规则的多个“对象”的一种 统一描述。 类就是对一类相似对象的属性和行为特征的抽象描述。或者 说,类是具有共同属性、共同操作性质的对象的集合。在VFP系 统中,类就像是一个模板,对象都是由类生成的,类定义了对象 所有的属性、事件和方法,从而决定了对象的属性和它的行为。 VFP系统为用户提供29个基类。 对于一个学校的全体学生,描述其特征的数据模式是相同的 。行为规则有不同的地方,也有相同的地方。但如果将行为的选 择加以一些限制,将引起学生反映的外部事件归纳为: (4) 类(Class) 10 Visual FoxPro 当一个学年度不及格科目超过学校规定时,这一部分学 生应该留级或受到警示。 完成规定科目的学习并考试合格者,学生的整体反映是 毕业离校。 一般管理信息系统中,系统的使用者和设计者所关心的问 题正是这样一些共性问题而并非一些很个体的问题,设计者对 个体的行为进行分析、归纳、抽象,形成整个群体的共同行为 规范,并把这种共同的行为规范用程序设计语言描述成程序过 程,和描述该群体的特征数据模式一起进行封装,这样就完成 了OOP方法中一个“类”的设计。 一个新学年度到来时,学生的整体反映应该是缴费报 到。 11 Visual FoxPro 类:是一个数据模式和若干个程序过程(称为“方法程序” 、一般一种行为用一个程序过程描述)经封装而形成的一个整 体,它是使用信息技术对现实世界的一种模拟与抽象。 对象:则是“类”的一个实例。 用程序设计语言来说,“对象”可以不精确的理解为对一个 “类”赋值的结果。“对象”是OOP方法中组成程序的一种构件。 总之,从程序设计者的角度观察: 类的特性 类具有多态性、封装性、抽象性、继承性等特性。 多态性:多态性主要是指允许相关的对象对同一消息做出 不同的反应。 12 Visual FoxPro 封装性:是指类的内部信息对用户是隐蔽的。 由于类具有封装性,因此不必被类的概念或类的抽象所困扰 。在使用类时,用户不需熟悉对象内部的复杂性,只需掌握类的 使用方法。 例如:使用照相机照相时,无需了解照相机是怎样设计的和 内部构造,只要会使用即可。类的封装性使应用程序的可用性大 大提高了。 抽象性:允许用户忽略实施细节,从更高的等级上考虑 一个实体。 继承性:指通过继承关系利用已有的类构造新类。 任何一个基类都有它的属性。即使用户没有定义,VFP系统 也赋给基类相应的缺省值。 继承性(Inheritance) 13 Visual FoxPro 对象能自动继承创建它的类的功能。 子类能自动继承父类的功能。 对一个类的改动能反映到它的所有子类中。 2. VFP面向对象思想的实现方法 VFP提供的设计器 表单设计器 菜单设计器 报表设计器 (1) VFP基类 在VFP中,为了实现面向对象的程序设计或创建应用程序 ,系统提供了可以使用的基本类,即VFP基类。 这个基类是系统本身内含的,不存于某个类库中。用户可 以基于基类生成所需的对象,也可以创建自己的类。 217页表4.7给出了VFP基类列表。 14 Visual FoxPro VFP中的基类 容器类 控件类 每一个基类对应表单控件工具栏上的一个图形按钮: 每一个VFP基类都有自己的一套属性、方法和事件。 容器类 容器类可以包含其他对象,并且允许访问这些对象。 例如:若创建一个含有两个命令按钮的容器类,而后将该 类的一个对象加入表单中,那么无论在设计时刻还是在运行时 刻,都可以对该容器中任何一个对象进行单独操作。 15 Visual FoxPro 不仅可以改变命令按钮的位置、标题,也可以在设计阶段 给这个容器添加新对象。 控件类 控件类的封装比容器类更为严密,但也因此丧失了一些灵 活性。他不能包含其他对象。 最典型的控件类就是命令按钮、文本。文本自身是一个对 象,在文本中不可放其它对象。 容器类虽然在引用时可以视为一个整体,但无论是在设计 阶段还是在运行阶段,其所包含的对象都是可识别并可以单独操 作的。 由控件类创造的对象,使用和修改需经容器进行引用。 16 Visual FoxPro VFP中的对象 容器对象 控件对象 (2) VFP对象 VFP的对象由基类生成,VFP给出的各种控件工具栏提供了 可以生成对象的按钮,当选择一个按钮在表单上单击或拖动画出 一个控件时,即生成了一个对象。 容器与控件 控件:是一个以图表化方式显示出来并能与用户进行交互 的对象。控件通常被放置于一个容器里。他不能包含其他对象。 最典型的控件就是命令按钮、文本。文本自身是一个对象 ,在文本中不可放其它对象。 容器:是一种特殊控件,是可以包含其它对象的对象。 书218页表4.9列出了VFP中常用的容器及其所能包容的对象 。 17 Visual FoxPro 表单容器对象及所包容的对象情况 命令按钮 标签 组合框 文本框 列表框 表单控件工具栏 页框 容器 对象 控件 对象 18 Visual FoxPro 对象的引用 在面向程序设计中,首先要明确下面几个问题: 容器中的对象仍然可以是一个容器,一般把一个“对象”的 直接容器称为“父容器”,在调用特定的对象时,搞清该对象的“ 父容器”是至关重要的,不能把一个对象的间接容器错误地视为 其“父容器”。 容器中对象的层次 对象使用局域名 每个对象都有一个名字。 在给对象命名时,只要保证同一个“父容器”下的各对象不 重名即可,换句话说,对象使用的是局域名,因此不能单独使用 对象名来调用对象, 19 Visual FoxPro 书219页图4-25中的用对象的名称: 表单:Form1 页框:pageframe1 页名page1,page2,page3 标签:lable1, lable2, lable3, lable4 组合框:combo1,combo2 文本框:text1,text1 列表框:list1,list2 命令按钮:command1,command2 以上是系统默认的名称,用户可以修改,例如:form1修改 为“字体对话框”,page1字体,lable1中文字体,等等。 20 Visual FoxPro 以上格式所表示的是中的对象,不是前面的部分, 其间用小数点分隔。如果某个对象直接放在表单上,则引用时不 应再写容器名。 对象引用方式 对象引用中的关键字及含义(见书220页表4-10) This:表示当前对象 Parent:表示当前对象的直接“父容器” ThisForm:表示包含当前对象的表单 ThisFormSet:表示包含当前对象的表单所属的表单集 例如在图4-25中:命令按钮1的引用:mand1 Text1引用:thisfrom.pagefrane1.page1.text121 Visual FoxPro 属性窗口 打开属性窗口的方法: (3) VFP对象的属性 显示菜单/属性 右击表单空白处,快捷 菜单/属性 对象组合框 选项卡 属性设置框 属性列表框 属性说明信息 属性窗口各部分功能: 对象组合框下拉列表中显示当前表单、表单集及全部控 件对象的列表。选择任意对象,将在属性列表框中列出有关这个 对象的所有属性、事件和方法程序供选择设置。 选项卡包含5个选项卡,分别用来显示对象的属性、事 件、方法程序等,各选项按字母顺序排列。22 Visual FoxPro 【全部】:列出对象的所有属性、事件、方法程序 【数据】:列出所有显示或操纵的数据属性 【方法程序】:对象的方法程序与事件,带有EVENT的是 事件,其余为方法程序。 【布局】:对象的位置、大小、颜色、字体等属性。 【其它】:类信息和用户自定义属性等。 注意:不同的对象,有不同的属性值。 属性设置框用于更改属性值的文本框或组合框,左边的 三个按钮“”、“”、“fx”可以取消和设置以及调用函数。 属性列表给出在对象组合框选定的对象按选定选项卡分 类后的各种属性,包括属性名和当前属性值。如果选中某个属性 ,其值会在属性设置框中出现,以供修改。23 Visual FoxPro 属性说明信息显示在属性列表中被选择属性的含义。 常用属性介绍 不同的对象有不同的属性,有些对象属性有上百个,有些属 性只是在特别需要时才用到,而有些属性经常用到,而且很多对 象具有一些相同的属性。书面221页表4-12给出了一些常用或通 用的属性。 引用对象属性 格式:. 例如:图4-25中,表单标题为“字体对话框”,表示如下: Thisform.coption=“字体对话框” 将文本框text1输入的值存入变量ww中,代码为: ww=thisform.pagefrane1.page1.text1.value 对象的引用 对象的属性 24 Visual FoxPro (1) Caption属性标题属性 指定对象标题中显示的文本。 (2) Name属性 指定在代码中引用对象时所用的名称。 (3) AutoSize属性控件是否根据正文自动调整大小 .T.真:自动调整大小 .F.假(默认):保持原来设计时大小。正文太长,则自动 裁剪掉。 (4) Heigh属性指定对象在屏幕上的高度 (5) Top属性 控件:指定相对父对象最顶端的所在的位置 表单对象:确定表单顶部边缘与VFP主窗口间距离 VFP中的常用属性 25 Visual FoxPro 控件:相对父对象的左边界距离 表单:表单左边界与VFP主窗口左边界的距离 (8) Enabled属性指定控件是否可用 .T.真:可用 .F.假:不可用,呈暗淡色,禁止用户操作 (9) Visible属性指定控件是否可见 .T.真:可见 .F.假:不可见,但控件本身存在 (10) FontName属性指定对象显示文本的字体名 (11) FontSize属性指定对象文本字体大小 (7) Left属性 26 Visual FoxPro FontBold是否为粗体 FontItalic是否斜体 FontStrikethru是否加一条删除线 FontUnderline是否带下划线 (13) ForeColor属性设置正文颜色 (14) BackColor属性设置背景颜色 (15) BackStyle属性设置背景风格 透明:控件背景颜色不显示 不透明:控件设置背景颜色 (12) 指定文本效果属性 27 Visual FoxPro 无:控件周围无边框 固定单线:控件带有边框 (17) Alignment属性标签、文本框、复选框中正文对齐 方式。不同控件默认值不同。 左:左对齐 右:右对齐 中间:正文居中 (18) WordWrap属性AutoSize属性为.T.时有效。 .T.真:垂直方向上改变区域大小,水平不变化。 .F.假:水平方向按正文的长度放大和缩小区域;在垂 直方向以字体大小放大和缩小区域。 (16) BordeStyle属性设置边框风格 28 Visual FoxPro (20) Picture属性指定控件中显示的位图、图标文件或 通用字段。 (21) TabIndes属性指定页面上控件的【Tab】健的次序 。 (22) TabStop属性用户是否可以使用【Tab】健把焦点 移到对象上。 (23) SpecialEffect属性形状控件的不同样式选项 (24) Value属性指定控件的当前取值。 (19) Style属性指定控件的样式 29 Visual FoxPro (4) VFP事件 事件驱动方式 面向对象程序设计的特点就是所有的操作都靠事件驱动, 这些事

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论