第十一章-面向对象可视化编程基础课件.ppt

上传人:小飞机 文档编号:4092459 上传时间:2023-04-03 格式:PPT 页数:31 大小:373.50KB
返回 下载 相关 举报
第十一章-面向对象可视化编程基础课件.ppt_第1页
第1页 / 共31页
第十一章-面向对象可视化编程基础课件.ppt_第2页
第2页 / 共31页
第十一章-面向对象可视化编程基础课件.ppt_第3页
第3页 / 共31页
第十一章-面向对象可视化编程基础课件.ppt_第4页
第4页 / 共31页
第十一章-面向对象可视化编程基础课件.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《第十一章-面向对象可视化编程基础课件.ppt》由会员分享,可在线阅读,更多相关《第十一章-面向对象可视化编程基础课件.ppt(31页珍藏版)》请在三一办公上搜索。

1、Visual FoxPro,1,4.2,面向对象程序设计和可视化设计工具使用,Visual FoxPro,2,本节要求,1.目的、要求(1)掌握面向对象程序设计的基本概念:类、对象、事件、方法、属性(2)了解面向对象程序设计思想(3)了解面向对象程序设计的设计方法,2.重点、难点重点:面向对象程序设计基本概念的理解。难点:面向对象程序设计的设计方法。,总 学 时:理论(2学时),Visual FoxPro,3,4.2 面向对象程序设计和可视化设计工具使用,面向过程程序设计:就是前面所介绍的结构化程序设计,结构化程序设计强调了功能抽象和模块性,它将解决问题的过程看作是一个处理过程。数据和施加于数

2、据上的操作是分别设计的,以对数据进行操作的过程作为程序的主体。,4.2.1 面向对象程序设计的基本思想与VFP的实现方法,1.面向对象程序设计的基本思想,Visual FoxPro,4,面向对象程序设计:将数据及对数据的操作放在一起,作为一个相互依存,不可分割的整体来处理,它将对象及对对象的操作抽象成对象属性和对象方法,这些对象的属性就是要处理的数据,而对象的方法就是对这些数据进行操作,面向对象程序设计就是通过对对象属性方法的设置,达到对对象操作的目的。基本概念:对象、类、子类、继承、属性、方法、事件等。,面向对象程序设计:Object Oriented Programming简称为OOP,(

3、1)对象(Object),对象(Object):是组成程序的构件。作为程序构件的“对象”是对现实世界中一个实体的一种模拟工具。例如:一个人,一个命令按钮等都是对象。,Visual FoxPro,5,对象是反映客观事物属性及行为特征的描述。每个对象都具有描述它的特征的属性,及附属于它的行为。一个人有姓名、性别、出生年月,命令按钮有高度、宽度、颜色等。,每个对象有自己的行为:如人可以站立、行走,命令按钮可以单击、双击等。,(2)属性(ATTRIBUTE),属性:是对象的一组特征数据。每个对象都有多个属性来描述,不同的对象可以有相同的属性,但必须有不同的属性值来区分他们。例如:一个人有姓名、年龄、身

4、高、体重等属性,对象张三和对象李四具有相同的属性,但他们有不同的属性值,至少一个姓名属性值为“张三”,另一个为“李四”。,Visual FoxPro,6,在Visual FoxPro中,一个对象的属性就是该对象的一项数据特性。,例如:一个标签对象Label1,有字体(FontSize)、标题(Caption)、字体大小(FontSize)等属性,同样,不同的标签对象间,必定有不同的属性值来区分它们。,(3)事件(Event)与方法(Means),事件:事件是对象可能作出的行为或动作,属于对象的静态特征。它是预先定义好的动作,通过用户的操作或系统来引发,事件是通过用户的交互操作产生的。在VFP统

5、中,对象可以响应50多种事件。例如:一个人的坐、立、走都是人可以作出的动作。如命令按钮的事件,系统规定了包括了单击(click)、右键单击(rightclick)等。,Visual FoxPro,7,方法:对象的方法是对于对象行为的描述。,VFP中每个对象都可以有若干个方法,相同类型的对象具有相同的方法,不同类型的对象也可以具有相同的方法。,事件与方法的区别和联系事件和方法是两个不同的概念。事件:是预先定义好的动作,是由用户或系统引发的,是先有用户的操作,然后才有事件的发生;方法:方法可以看作是对象具有的行为能力,它是对象用来实现某一任务的途径。,例如:在对象上单击鼠标会执行一个相应的命令或一

6、段相应的程序,则有这个命令或这段程序就是这个对象的方法。,Visual FoxPro,8,正常情况下,激活一个事件,将执行相应的方法。如果这个事件没有事先定义,则不可能发生这个事件;如果定义了事件,而事件的方法没有事先设置,则对对象发生事件时不会有任何反映。方法靠事件进行引发,所以二者是相互依赖,相辅相成的。例如:乘客登上飞机,触发了一个“登机”的事件;飞机在飞行,是飞机这个对象,在执行“飞行”这个方法,飞机具有飞行的能力。所以“登机”是一个事件,而“飞行”则是方法。,事件与方法紧密联系,Visual FoxPro,9,类的定义“类”:是具有相同属性特征和行为规则的多个“对象”的一种统一描述。

7、类就是对一类相似对象的属性和行为特征的抽象描述。或者说,类是具有共同属性、共同操作性质的对象的集合。在VFP系统中,类就像是一个模板,对象都是由类生成的,类定义了对象所有的属性、事件和方法,从而决定了对象的属性和它的行为。VFP系统为用户提供29个基类。对于一个学校的全体学生,描述其特征的数据模式是相同的。行为规则有不同的地方,也有相同的地方。但如果将行为的选择加以一些限制,将引起学生反映的外部事件归纳为:,(4)类(Class),Visual FoxPro,10,当一个学年度不及格科目超过学校规定时,这一部分学生应该留级或受到警示。完成规定科目的学习并考试合格者,学生的整体反映是毕业离校。一

8、般管理信息系统中,系统的使用者和设计者所关心的问题正是这样一些共性问题而并非一些很个体的问题,设计者对个体的行为进行分析、归纳、抽象,形成整个群体的共同行为规范,并把这种共同的行为规范用程序设计语言描述成程序过程,和描述该群体的特征数据模式一起进行封装,这样就完成了OOP方法中一个“类”的设计。,一个新学年度到来时,学生的整体反映应该是缴费报到。,Visual FoxPro,11,类:是一个数据模式和若干个程序过程(称为“方法程序”、一般一种行为用一个程序过程描述)经封装而形成的一个整体,它是使用信息技术对现实世界的一种模拟与抽象。对象:则是“类”的一个实例。用程序设计语言来说,“对象”可以不

9、精确的理解为对一个“类”赋值的结果。“对象”是OOP方法中组成程序的一种构件。,总之,从程序设计者的角度观察:,类的特性,类具有多态性、封装性、抽象性、继承性等特性。多态性:多态性主要是指允许相关的对象对同一消息做出不同的反应。,Visual FoxPro,12,封装性:是指类的内部信息对用户是隐蔽的。,由于类具有封装性,因此不必被类的概念或类的抽象所困扰。在使用类时,用户不需熟悉对象内部的复杂性,只需掌握类的使用方法。例如:使用照相机照相时,无需了解照相机是怎样设计的和内部构造,只要会使用即可。类的封装性使应用程序的可用性大大提高了。,抽象性:允许用户忽略实施细节,从更高的等级上考虑一个实体

10、。,继承性:指通过继承关系利用已有的类构造新类。任何一个基类都有它的属性。即使用户没有定义,VFP系统也赋给基类相应的缺省值。,继承性(Inheritance),Visual FoxPro,13,对象能自动继承创建它的类的功能。,子类能自动继承父类的功能。对一个类的改动能反映到它的所有子类中。,2.VFP面向对象思想的实现方法,VFP提供的设计器,(1)VFP基类,在VFP中,为了实现面向对象的程序设计或创建应用程序,系统提供了可以使用的基本类,即VFP基类。这个基类是系统本身内含的,不存于某个类库中。用户可以基于基类生成所需的对象,也可以创建自己的类。217页表4.7给出了VFP基类列表。,

11、Visual FoxPro,14,VFP中的基类,每一个基类对应表单控件工具栏上的一个图形按钮:,每一个VFP基类都有自己的一套属性、方法和事件。,容器类容器类可以包含其他对象,并且允许访问这些对象。例如:若创建一个含有两个命令按钮的容器类,而后将该类的一个对象加入表单中,那么无论在设计时刻还是在运行时刻,都可以对该容器中任何一个对象进行单独操作。,Visual FoxPro,15,不仅可以改变命令按钮的位置、标题,也可以在设计阶段给这个容器添加新对象。,控件类控件类的封装比容器类更为严密,但也因此丧失了一些灵活性。他不能包含其他对象。最典型的控件类就是命令按钮、文本。文本自身是一个对象,在文

12、本中不可放其它对象。容器类虽然在引用时可以视为一个整体,但无论是在设计阶段还是在运行阶段,其所包含的对象都是可识别并可以单独操作的。由控件类创造的对象,使用和修改需经容器进行引用。,Visual FoxPro,16,VFP中的对象,(2)VFP对象,VFP的对象由基类生成,VFP给出的各种控件工具栏提供了可以生成对象的按钮,当选择一个按钮在表单上单击或拖动画出一个控件时,即生成了一个对象。容器与控件控件:是一个以图表化方式显示出来并能与用户进行交互的对象。控件通常被放置于一个容器里。他不能包含其他对象。最典型的控件就是命令按钮、文本。文本自身是一个对象,在文本中不可放其它对象。容器:是一种特殊

13、控件,是可以包含其它对象的对象。书218页表4.9列出了VFP中常用的容器及其所能包容的对象。,Visual FoxPro,17,表单容器对象及所包容的对象情况,容器对象,控件对象,Visual FoxPro,18,对象的引用,在面向程序设计中,首先要明确下面几个问题:,容器中的对象仍然可以是一个容器,一般把一个“对象”的直接容器称为“父容器”,在调用特定的对象时,搞清该对象的“父容器”是至关重要的,不能把一个对象的间接容器错误地视为其“父容器”。,容器中对象的层次,对象使用局域名,每个对象都有一个名字。在给对象命名时,只要保证同一个“父容器”下的各对象不重名即可,换句话说,对象使用的是局域名

14、,因此不能单独使用对象名来调用对象,,Visual FoxPro,19,书219页图4-25中的用对象的名称:,表单:Form1页框:pageframe1 页名page1,page2,page3标签:lable1,lable2,lable3,lable4组合框:combo1,combo2文本框:text1,text1列表框:list1,list2命令按钮:command1,command2以上是系统默认的名称,用户可以修改,例如:form1修改为“字体对话框”,page1字体,lable1中文字体,等等。,Visual FoxPro,20,.以上格式所表示的是中的对象,不是前面的部分,其间用小

15、数点分隔。如果某个对象直接放在表单上,则引用时不应再写容器名。,对象引用方式,对象引用中的关键字及含义(见书220页表4-10),This:表示当前对象Parent:表示当前对象的直接“父容器”ThisForm:表示包含当前对象的表单ThisFormSet:表示包含当前对象的表单所属的表单集例如在图4-25中:命令按钮1的引用:mand1Text1引用:thisfrom.pagefrane1.page1.text1,Visual FoxPro,21,属性窗口打开属性窗口的方法:,(3)VFP对象的属性,显示菜单/属性右击表单空白处,快捷菜单/属性,属性窗口各部分功能:对象组合框下拉列表中显示当

16、前表单、表单集及全部控件对象的列表。选择任意对象,将在属性列表框中列出有关这个对象的所有属性、事件和方法程序供选择设置。选项卡包含5个选项卡,分别用来显示对象的属性、事件、方法程序等,各选项按字母顺序排列。,Visual FoxPro,22,【全部】:列出对象的所有属性、事件、方法程序,【数据】:列出所有显示或操纵的数据属性【方法程序】:对象的方法程序与事件,带有EVENT的是事件,其余为方法程序。【布局】:对象的位置、大小、颜色、字体等属性。【其它】:类信息和用户自定义属性等。注意:不同的对象,有不同的属性值。属性设置框用于更改属性值的文本框或组合框,左边的三个按钮“”、“”、“fx”可以取

17、消和设置以及调用函数。属性列表给出在对象组合框选定的对象按选定选项卡分类后的各种属性,包括属性名和当前属性值。如果选中某个属性,其值会在属性设置框中出现,以供修改。,Visual FoxPro,23,属性说明信息显示在属性列表中被选择属性的含义。,常用属性介绍不同的对象有不同的属性,有些对象属性有上百个,有些属性只是在特别需要时才用到,而有些属性经常用到,而且很多对象具有一些相同的属性。书面221页表4-12给出了一些常用或通用的属性。引用对象属性格式:.例如:图4-25中,表单标题为“字体对话框”,表示如下:Thisform.coption=“字体对话框”将文本框text1输入的值存入变量w

18、w中,代码为:ww=thisform.pagefrane1.page1.text1.value,Visual FoxPro,24,(1)Caption属性标题属性指定对象标题中显示的文本。(2)Name属性指定在代码中引用对象时所用的名称。(3)AutoSize属性控件是否根据正文自动调整大小.T.真:自动调整大小.F.假(默认):保持原来设计时大小。正文太长,则自动裁剪掉。(4)Heigh属性指定对象在屏幕上的高度(5)Top属性控件:指定相对父对象最顶端的所在的位置表单对象:确定表单顶部边缘与VFP主窗口间距离,VFP中的常用属性,Visual FoxPro,25,控件:相对父对象的左边界

19、距离表单:表单左边界与VFP主窗口左边界的距离(8)Enabled属性指定控件是否可用.T.真:可用.F.假:不可用,呈暗淡色,禁止用户操作(9)Visible属性指定控件是否可见.T.真:可见.F.假:不可见,但控件本身存在(10)FontName属性指定对象显示文本的字体名(11)FontSize属性指定对象文本字体大小,(7)Left属性,Visual FoxPro,26,FontBold是否为粗体FontItalic是否斜体FontStrikethru是否加一条删除线FontUnderline是否带下划线(13)ForeColor属性设置正文颜色(14)BackColor属性设置背景颜

20、色(15)BackStyle属性设置背景风格透明:控件背景颜色不显示不透明:控件设置背景颜色,(12)指定文本效果属性,Visual FoxPro,27,无:控件周围无边框固定单线:控件带有边框(17)Alignment属性标签、文本框、复选框中正文对齐方式。不同控件默认值不同。左:左对齐右:右对齐中间:正文居中(18)WordWrap属性AutoSize属性为.T.时有效。.T.真:垂直方向上改变区域大小,水平不变化。.F.假:水平方向按正文的长度放大和缩小区域;在垂直方向以字体大小放大和缩小区域。,(16)BordeStyle属性设置边框风格,Visual FoxPro,28,(20)Pi

21、cture属性指定控件中显示的位图、图标文件或通用字段。(21)TabIndes属性指定页面上控件的【Tab】健的次序。(22)TabStop属性用户是否可以使用【Tab】健把焦点移到对象上。(23)SpecialEffect属性形状控件的不同样式选项(24)Value属性指定控件的当前取值。,(19)Style属性指定控件的样式,Visual FoxPro,29,(4)VFP事件 事件驱动方式面向对象程序设计的特点就是所有的操作都靠事件驱动,这些事件都是由系统预先定义,由系统或用户触发,一旦触发某个事件,系统就会转去执行与该事件对应的方法程序代码,完成某种操作。事件处理完毕后,系统继续待下一

22、个事件的发生。常见事件介绍见书223页表4-13,有时需要给对象添加新的属性,方法是,在菜单栏中,选择“表单”菜单中“新建属性”选项,在对话框中,指定要添加的属性名称,并单击“添加”按钮,就完成的新属性的添加工作,往后就可以如前面说明的一样设置该属性了。,创建新属性,Visual FoxPro,30,事件:预先设定好的特定动作。由用户系统来激活。但用户不能创建新事件。,例1:表单中的按钮对象对于鼠标Click(单击)事件的响应。(例11-6),表单设计,在表单中加入一个标签、一个按钮。(2)编写程序代码进入代码窗口的三种方法 双击对象 显示/代码 右击对象快捷菜单/代码 command1的Click事件代码:ThisForm.Label1.Caption=我单击了一下按钮!(4)运行表单,Visual FoxPro,31,格式:.,(5)VFP方法程序,例2:调用对象方法示例(例11-5),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号