版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十一章面向对象可视化编程基础第一页,共三十二页,编辑于2023年,星期五VisualFoxPro24.2面向对象程序设计和可视化设计工具使用第二页,共三十二页,编辑于2023年,星期五VisualFoxPro3本节要求1.目的、要求
(1)掌握面向对象程序设计的基本概念:类、对象、事件、方法、属性(2)了解面向对象程序设计思想(3)了解面向对象程序设计的设计方法2.重点、难点重点:面向对象程序设计基本概念的理解。难点:面向对象程序设计的设计方法。总
学
时:理论(2学时)第三页,共三十二页,编辑于2023年,星期五VisualFoxPro44.2面向对象程序设计和可视化设计工具使用面向过程程序设计:就是前面所介绍的结构化程序设计,结构化程序设计强调了功能抽象和模块性,它将解决问题的过程看作是一个处理过程。数据和施加于数据上的操作是分别设计的,以对数据进行操作的过程作为程序的主体。4.2.1面向对象程序设计的基本思想与VFP的实现方法1.面向对象程序设计的基本思想第四页,共三十二页,编辑于2023年,星期五VisualFoxPro5面向对象程序设计:将数据及对数据的操作放在一起,作为一个相互依存,不可分割的整体来处理,它将对象及对对象的操作抽象成对象属性和对象方法,这些对象的属性就是要处理的数据,而对象的方法就是对这些数据进行操作,面向对象程序设计就是通过对对象属性方法的设置,达到对对象操作的目的。基本概念:对象、类、子类、继承、属性、方法、事件等。面向对象程序设计:ObjectOrientedProgramming简称为OOP(1)对象(Object)对象(Object):是组成程序的构件。作为程序构件的“对象”是对现实世界中一个实体的一种模拟工具。例如:一个人,一个命令按钮等都是对象。第五页,共三十二页,编辑于2023年,星期五VisualFoxPro6对象是反映客观事物属性及行为特征的描述。每个对象都具有描述它的特征的属性,及附属于它的行为。一个人有姓名、性别、出生年月,命令按钮有高度、宽度、颜色等。每个对象有自己的行为:如人可以站立、行走,命令按钮可以单击、双击等。(2)属性(ATTRIBUTE)属性:是对象的一组特征数据。①每个对象都有多个属性来描述,不同的对象可以有相同的属性,但必须有不同的属性值来区分他们。例如:一个人有姓名、年龄、身高、体重等属性,对象张三和对象李四具有相同的属性,但他们有不同的属性值,至少一个姓名属性值为“张三”,另一个为“李四”。第六页,共三十二页,编辑于2023年,星期五VisualFoxPro7②在VisualFoxPro中,一个对象的属性就是该对象的一项数据特性。例如:一个标签对象Label1,有字体(FontSize)、标题(Caption)、字体大小(FontSize)等属性,同样,不同的标签对象间,必定有不同的属性值来区分它们。(3)事件(Event)与方法(Means)①事件:事件是对象可能作出的行为或动作,属于对象的静态特征。它是预先定义好的动作,通过用户的操作或系统来引发,事件是通过用户的交互操作产生的。在VFP统中,对象可以响应50多种事件。例如:一个人的坐、立、走都是人可以作出的动作。如命令按钮的事件,系统规定了包括了单击(click)、右键单击(rightclick)等。第七页,共三十二页,编辑于2023年,星期五VisualFoxPro8②方法:对象的方法是对于对象行为的描述。VFP中每个对象都可以有若干个方法,相同类型的对象具有相同的方法,不同类型的对象也可以具有相同的方法。③事件与方法的区别和联系*事件和方法是两个不同的概念。事件:是预先定义好的动作,是由用户或系统引发的,是先有用户的操作,然后才有事件的发生;方法:方法可以看作是对象具有的行为能力,它是对象用来实现某一任务的途径。例如:在对象上单击鼠标会执行一个相应的命令或一段相应的程序,则有这个命令或这段程序就是这个对象的方法。第八页,共三十二页,编辑于2023年,星期五VisualFoxPro9正常情况下,激活一个事件,将执行相应的方法。如果这个事件没有事先定义,则不可能发生这个事件;如果定义了事件,而事件的方法没有事先设置,则对对象发生事件时不会有任何反映。方法靠事件进行引发,所以二者是相互依赖,相辅相成的。例如:乘客登上飞机,触发了一个“登机”的事件;飞机在飞行,是飞机这个对象,在执行“飞行”这个方法,飞机具有飞行的能力。所以“登机”是一个事件,而“飞行”则是方法。*事件与方法紧密联系第九页,共三十二页,编辑于2023年,星期五VisualFoxPro10①
类的定义“类”:是具有相同属性特征和行为规则的多个“对象”的一种统一描述。类就是对一类相似对象的属性和行为特征的抽象描述。或者说,类是具有共同属性、共同操作性质的对象的集合。在VFP系统中,类就像是一个模板,对象都是由类生成的,类定义了对象所有的属性、事件和方法,从而决定了对象的属性和它的行为。VFP系统为用户提供29个基类。对于一个学校的全体学生,描述其特征的数据模式是相同的。行为规则有不同的地方,也有相同的地方。但如果将行为的选择加以一些限制,将引起学生反映的外部事件归纳为:(4)类(Class)第十页,共三十二页,编辑于2023年,星期五VisualFoxPro11*
当一个学年度不及格科目超过学校规定时,这一部分学生应该留级或受到警示。*
完成规定科目的学习并考试合格者,学生的整体反映是毕业离校。一般管理信息系统中,系统的使用者和设计者所关心的问题正是这样一些共性问题而并非一些很个体的问题,设计者对个体的行为进行分析、归纳、抽象,形成整个群体的共同行为规范,并把这种共同的行为规范用程序设计语言描述成程序过程,和描述该群体的特征数据模式一起进行封装,这样就完成了OOP方法中一个“类”的设计。*一个新学年度到来时,学生的整体反映应该是缴费报到。第十一页,共三十二页,编辑于2023年,星期五VisualFoxPro12类:是一个数据模式和若干个程序过程(称为“方法程序”、一般一种行为用一个程序过程描述)经封装而形成的一个整体,它是使用信息技术对现实世界的一种模拟与抽象。对象:则是“类”的一个实例。用程序设计语言来说,“对象”可以不精确的理解为对一个“类”赋值的结果。“对象”是OOP方法中组成程序的一种构件。总之,从程序设计者的角度观察:②类的特性类具有多态性、封装性、抽象性、继承性等特性。*多态性:多态性主要是指允许相关的对象对同一消息做出不同的反应。第十二页,共三十二页,编辑于2023年,星期五VisualFoxPro13*封装性:是指类的内部信息对用户是隐蔽的。由于类具有封装性,因此不必被类的概念或类的抽象所困扰。在使用类时,用户不需熟悉对象内部的复杂性,只需掌握类的使用方法。例如:使用照相机照相时,无需了解照相机是怎样设计的和内部构造,只要会使用即可。类的封装性使应用程序的可用性大大提高了。*抽象性:允许用户忽略实施细节,从更高的等级上考虑一个实体。继承性:指通过继承关系利用已有的类构造新类。任何一个基类都有它的属性。即使用户没有定义,VFP系统也赋给基类相应的缺省值。*继承性(Inheritance)第十三页,共三十二页,编辑于2023年,星期五VisualFoxPro14●对象能自动继承创建它的类的功能。●
子类能自动继承父类的功能。●
对一个类的改动能反映到它的所有子类中。2.VFP面向对象思想的实现方法VFP提供的设计器表单设计器菜单设计器报表设计器(1)VFP基类在VFP中,为了实现面向对象的程序设计或创建应用程序,系统提供了可以使用的基本类,即VFP基类。这个基类是系统本身内含的,不存于某个类库中。用户可以基于基类生成所需的对象,也可以创建自己的类。217页表4.7给出了VFP基类列表。第十四页,共三十二页,编辑于2023年,星期五VisualFoxPro15VFP中的基类容器类控件类每一个基类对应表单控件工具栏上的一个图形按钮:每一个VFP基类都有自己的一套属性、方法和事件。①容器类容器类可以包含其他对象,并且允许访问这些对象。例如:若创建一个含有两个命令按钮的容器类,而后将该类的一个对象加入表单中,那么无论在设计时刻还是在运行时刻,都可以对该容器中任何一个对象进行单独操作。第十五页,共三十二页,编辑于2023年,星期五VisualFoxPro16不仅可以改变命令按钮的位置、标题,也可以在设计阶段给这个容器添加新对象。②控件类控件类的封装比容器类更为严密,但也因此丧失了一些灵活性。他不能包含其他对象。最典型的控件类就是命令按钮、文本。文本自身是一个对象,在文本中不可放其它对象。容器类虽然在引用时可以视为一个整体,但无论是在设计阶段还是在运行阶段,其所包含的对象都是可识别并可以单独操作的。由控件类创造的对象,使用和修改需经容器进行引用。第十六页,共三十二页,编辑于2023年,星期五VisualFoxPro17VFP中的对象容器对象控件对象(2)VFP对象VFP的对象由基类生成,VFP给出的各种控件工具栏提供了可以生成对象的按钮,当选择一个按钮在表单上单击或拖动画出一个控件时,即生成了一个对象。①容器与控件控件:是一个以图表化方式显示出来并能与用户进行交互的对象。控件通常被放置于一个容器里。他不能包含其他对象。最典型的控件就是命令按钮、文本。文本自身是一个对象,在文本中不可放其它对象。容器:是一种特殊控件,是可以包含其它对象的对象。书218页表4.9列出了VFP中常用的容器及其所能包容的对象。第十七页,共三十二页,编辑于2023年,星期五VisualFoxPro18表单容器对象及所包容的对象情况命令按钮标签组合框文本框列表框表单控件工具栏页框容器对象控件对象第十八页,共三十二页,编辑于2023年,星期五VisualFoxPro19②对象的引用在面向程序设计中,首先要明确下面几个问题:容器中的对象仍然可以是一个容器,一般把一个“对象”的直接容器称为“父容器”,在调用特定的对象时,搞清该对象的“父容器”是至关重要的,不能把一个对象的间接容器错误地视为其“父容器”。*容器中对象的层次*对象使用局域名每个对象都有一个名字。在给对象命名时,只要保证同一个“父容器”下的各对象不重名即可,换句话说,对象使用的是局域名,因此不能单独使用对象名来调用对象,第十九页,共三十二页,编辑于2023年,星期五VisualFoxPro20书219页图4-25中的用对象的名称:表单:Form1页框:pageframe1页名——page1,page2,page3标签:lable1,lable2,lable3,lable4组合框:combo1,combo2文本框:text1,text1列表框:list1,list2命令按钮:command1,command2以上是系统默认的名称,用户可以修改,例如:form1修改为“字体对话框”,page1—字体,lable1—中文字体,等等。第二十页,共三十二页,编辑于2023年,星期五VisualFoxPro21<表单集>.<表单名>.<容器名1>.<容器名2><对象名>以上格式所表示的是<对象名>中的对象,不是前面的部分,其间用小数点分隔。如果某个对象直接放在表单上,则引用时不应再写容器名。*对象引用方式*
对象引用中的关键字及含义(见书220页表4-10)This:表示当前对象Parent:表示当前对象的直接“父容器”ThisForm:表示包含当前对象的表单ThisFormSet:表示包含当前对象的表单所属的表单集例如在图4-25中:命令按钮1的引用:mand1Text1引用:thisfrom.pagefrane1.page1.text1第二十一页,共三十二页,编辑于2023年,星期五VisualFoxPro22①属性窗口打开属性窗口的方法:(3)VFP对象的属性*显示菜单/属性*右击表单空白处,快捷菜单/属性对象组合框选项卡属性设置框属性列表框属性说明信息属性窗口各部分功能:对象组合框——下拉列表中显示当前表单、表单集及全部控件对象的列表。选择任意对象,将在属性列表框中列出有关这个对象的所有属性、事件和方法程序供选择设置。选项卡——包含5个选项卡,分别用来显示对象的属性、事件、方法程序等,各选项按字母顺序排列。第二十二页,共三十二页,编辑于2023年,星期五VisualFoxPro23【全部】:列出对象的所有属性、事件、方法程序【数据】:列出所有显示或操纵的数据属性【方法程序】:对象的方法程序与事件,带有EVENT的是事件,其余为方法程序。【布局】:对象的位置、大小、颜色、字体等属性。【其它】:类信息和用户自定义属性等。注意:不同的对象,有不同的属性值。属性设置框——用于更改属性值的文本框或组合框,左边的三个按钮“×”、“√”、“fx”可以取消和设置以及调用函数。属性列表——给出在对象组合框选定的对象按选定选项卡分类后的各种属性,包括属性名和当前属性值。如果选中某个属性,其值会在属性设置框中出现,以供修改。第二十三页,共三十二页,编辑于2023年,星期五VisualFoxPro24属性说明信息——显示在属性列表中被选择属性的含义。②常用属性介绍不同的对象有不同的属性,有些对象属性有上百个,有些属性只是在特别需要时才用到,而有些属性经常用到,而且很多对象具有一些相同的属性。书面221页表4-12给出了一些常用或通用的属性。③引用对象属性格式:<对象引用>.<对象属性>例如:图4-25中,表单标题为“字体对话框”,表示如下:Thisform.coption=“字体对话框”将文本框text1输入的值存入变量ww中,代码为:ww=thisform.pagefrane1.page1.text1.value对象的引用对象的属性第二十四页,共三十二页,编辑于2023年,星期五VisualFoxPro25(1)Caption属性——标题属性指定对象标题中显示的文本。(2)Name属性指定在代码中引用对象时所用的名称。(3)AutoSize属性——控件是否根据正文自动调整大小.T.——真:自动调整大小.F.——假(默认):保持原来设计时大小。正文太长,则自动裁剪掉。(4)Heigh属性——指定对象在屏幕上的高度(5)Top属性控件:指定相对父对象最顶端的所在的位置表单对象:确定表单顶部边缘与VFP主窗口间距离VFP中的常用属性第二十五页,共三十二页,编辑于2023年,星期五VisualFoxPro26控件:相对父对象的左边界距离表单:表单左边界与VFP主窗口左边界的距离(8)Enabled属性——指定控件是否可用.T.——真:可用.F.——假:不可用,呈暗淡色,禁止用户操作(9)Visible属性——指定控件是否可见.T.——真:可见.F.——假:不可见,但控件本身存在(10)FontName属性——指定对象显示文本的字体名(11)FontSize属性——指定对象文本字体大小(7)Left属性第二十六页,共三十二页,编辑于2023年,星期五VisualFoxPro27FontBold——是否为粗体FontItalic——是否斜体FontStrikethru——是否加一条删除线FontUnderline——是否带下划线(13)ForeColor属性——设置正文颜色(14)BackColor属性——设置背景颜色(15)BackStyle属性——设置背景风格透明:控件背景颜色不显示不透明:控件设置背景颜色(12)指定文本效果属性第二十七页,共三十二页,编辑于2023年,星期五VisualFoxPro28无:控件周围无边框固定单线:控件带有边框(17)Alignment属性——标签、文本框、复选框中正文对齐方式。不同控件默认值不同。左:左对齐右:右对齐中间:正文居中(18)WordWrap属性——AutoSize属性为.T.时有效。.T.——真:垂直方向上改变区域大小,水平不变化。.F.——假:水平方向按正文的长度放大和缩小区域;在垂直方向以字体大小放大和缩小区域。(16)BordeStyle属性——设置边框风格第二十八页,共三十二页,编辑于2023年,星期五VisualFoxPro29(20)Picture属性——指定控件中显示的位图、图标文件或通用字段。(21)TabIndes属性——指定页面上控件的【Tab】健的次序。(22)TabStop属性——用户是否可以使用【Tab】健把焦点移到对象上。(23)SpecialEffect属性——形状控件的不同样式选项(24)Value属性——指定控件的当前取值。(19)Style属性——指定控件的样式第二十九页,共三十二页,编辑于2023年,星期五VisualFoxPro30(4)VFP事件①事件驱动方式面向对象程序设计的特点就是所有的操作都靠事件驱动,这些事件都是由系统预先定义,由系统或用户触发,一旦触发某个事件,系统就会转去执行与该事件对应的方法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024至2030年编织毛纺品项目投资价值分析报告
- 2024至2030年稳态荧光光谱仪项目投资价值分析报告
- 2024至2030年三用绞切机项目投资价值分析报告
- 年度快速原型成形设备产业分析报告
- 吉林省延边朝鲜族自治州汪清县第六中学2025届物理高二上期末质量跟踪监视试题含解析
- 2025届广东省肇庆市百花中学物理高一第一学期期中检测试题含解析
- 四川省乐山市高中2025届物理高三第一学期期中经典模拟试题含解析
- 2025届上海市十二校高一物理第一学期期中调研模拟试题含解析
- 全国百校联盟2025届物理高一第一学期期末达标检测模拟试题含解析
- 2025届山西省山西大学附中物理高二上期末复习检测模拟试题含解析
- 【时代峰峻公司“养成系”偶像的营销策略研究案例报告8700字(论文)】
- 水稻栽培技术-水稻常规栽培技术
- 常见营养相关慢性疾病的营养指导
- 标准报价单模板(二)
- 《mc入门教程》课件
- 物理化学实验B智慧树知到课后章节答案2023年下北京科技大学
- 建筑大师林徽因智慧树知到课后章节答案2023年下潍坊工程职业学院
- 塔里木盆地主要地震反射波组的说明
- 初中英语教学经验交流PPT教学课件
- 英文介绍新疆乌鲁木齐ppt
- 钛白硫酸衡算
评论
0/150
提交评论