




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、面向对象程序设计1面向对象程序设计概述 一、面向对象程序设计概念 1对象 对象是对客观存在的具体事物的表示。 对象有属性和方法。2类类是具有相同属性和方法的一组对象的集合。在OOP方法中,“类”是对现实世界的一种高度抽象。从程序设计者的角度观察,“类”是一个数据模式和若干个程序过程经封装而形成的一个整体,它是使用信息技术对现实世界的一种模拟与抽象,而“对象”则是“类”的一个实例,是OOP方法中构成程序的基本单位。 23属性属性是对象的一组特征数据。每个对象都有多个属性来描述,不同的对象可以有相同的属性,但必须有不同的属性值来区分他们。 4事件与方法事件是对象触发的行为描述,它是预先定义好的动作
2、,通过用户的操作或系统来激活。事件是通过用户的交互操作产生的。 方法是与对象相关的过程,通过调用对象的方法,可以完成某些任务,所以方法是需要显示调用的。 35封装性、继承性和多态性OOP的方法中有3个基本特性:封装性、继承性和多态性。封装性,是使抽象性成为可能,简单的说就是信息隐藏。我们把事物的共同属性和方法封装在一起,从而让使用者,不必了解其是怎样实现的。 继承性是面向对象程序设计中的一个重要概念,它是从现有的类中派生出新的类的特性。通过对父类的继承,可以避免数据和方法的重复,实现了代码的可重用性,为代码的维护提供了极大方便。具体而言,就是一个类可以有子类,子类将继承其父类的属性和方法,并可
3、以定义自己特定的属性和方法。 多态性主要是指一些关联的类包含同名的方法,但方法的内容可以不同。具体调用哪种方法应在运行时根据具体对象所属的类确定。 4面向对象程序设计方法一、Visual FoxPro中的基类 Visual FoxPro中有两大基类:容器类和控件类。因此Visual FoxPro中的对象也分为两大类型,容器对象和控件对象。Visual FoxPro中提供了21种常用基类,每一个基类对应一个Visual FoxPro工具栏的图形按钮。1容器类容器类对象可以包含其他对象,并允许访问这些对象。2控件类控件类是可以包含在容器类中并可以由用户派生的Visual FoxPro基类。控件类不
4、能包含其他对象,其封装比容器类更严密。当需要访问放入到容器中的控件对象时,需要经过容器进行引用。其基本格式:容器对象.控件对象.属性属性值 5二、类的创建创建类的操作主要有两种方式:用类设计器创建类和以编程方式定义类。 用类设计器创建类 以编程方式定义类 【例】通过编程的方式定义一个类。代码如下:DEFINE CLASS MyForm AS FORM & 定义Form类的子类MyFormHEIGHT=7WIDTH=60ADD OBJECT Button AS COMMANDBUTTON; & 为MyForm添加一个按钮对象 WITH caption=”按钮”,; width=10ENDDEFI
5、NE 6三、对象的操作对象就是类的一个实例,在面向对象的程序设计中,最终的程序功能的完成是由对象去做的。 1、由类创建对象 (1)创建对象 【格式】CREATEOBJECT(“类名”)例如:F1CREATEOBJECT(“Form”) & 创建一个Form类的对象F1B1=CREATEOBJECT(“CommandButton”) & 创建一个CommandButton类的对象B17(2)释放对象对象作为内存中的变量,将占用着内存资源。当我们不需要某些对象时,就可以释放对象 .【格式】RELEASE |ALL LIKE 例如:RELEASE F1 & 释放对象F1RELEASE ALL LIK
6、E B* & 释放所有名字以“B”开头的对象 8如果我们要引用对象“Text1”,并将其“Caption”属性设置为“控件”,则可以进行的操作是:Thisform.pageframe1.page1.text1.Caption=”控件” 除了可以通过层次关系直接的引用对象,我们还可以从相对位置进行对象引用。常用的关键字有:Parent:当前对象的父容器This:当前对象ThisForm:包含当前对象的表单(3)对象的引用在Visual FoxPro中引用一个对象,需要知道这个对象相对于容器的层次关系。 92设置对象属性对象的属性承载着与对象相关的某些数据信息,其值可以在设计阶段设置,也可以在程序
7、运行过程中进行修改。设置对象属性的语法是如下。【格式1】【格式2】WITH 属性名1属性值1 属性名n属性值nENDWITH格式1:对于对象的一个属性进行设置值。格式2:可以同时为对象的多个属性设置值。 10【例】设计一个表单程序。表单对象中,包含一个标签,一个文本框和一个命令按钮对象。AddObject()方法。它的作用是在一个容器对象中添加一个对象。格式:.AddObject(,)设计步骤如下:*新建一个表单对象,表单中包含一个标签,一个文本框和一个命令按钮form=CreateObject(form) & 创建表单对象“form”form.caption=一个表单程序 & 设置“form
8、”的标题属性form.AddObject(label1,Label) & “form”上加入一个标签form.AddObject(edit1,TextBox) & 加入一个文本框对象form.AddObject(command1,CommandButton) & 加入一个按钮对象form.label1.Top=10 & 设置标签对象的顶端高度11form.label1.Visible=.T. & 设置标签可见form.label1.Caption=请输入姓名: & 设置标签的标题form.label1.AutoSize=.T. & 设置标签自动调整大小form.edit1.Top=40 & 设
9、置文本框顶端高度form.edit1.width=300 & 设置文本框宽度form.edit1.Visible=.T. & 设置文本框可见mand1.Caption=命令按钮 & 设置按钮标题mand1.Visible=.T. & 设置按钮可见mand1.Top=70 & 设置按钮的顶端高度mand1.Left=20 & 设置按钮的左端宽度form.show(1) & 显示表单对象123调用对象方法【格式】对象名.方法名例如:Form1.Refresh & 重画表单Form1,并刷新所有值每个对象的方法有很多,并且不同的对象可以有相同的方法。方法名称方法功能AddItem给ComboBox或
10、ListBox控件新增一项Box在表单对象上画一个矩形Circle在表单对象上画一个圆Clear清除组合框或列表框中的内容Cls清除表单上的图形或文本Hide隐藏表单或表单集Line在表单上画直线Refresh刷新表单Move移动对象SetFocus为对象设置焦点Print在表单上打印字符串134触发对象事件事件是预先设定好的特定动作,由用户或系统来激活。用户是不能创建新事件的,这点跟方法不一样。在平常的计算机操作中,我们做出某些动作后,将引发相应的事件。事件名称触发事件说明CLICK当单击鼠标左键时触发事件DblClick当双击鼠标左键时触发事件DragDrop当拖放鼠标时触发事件Right
11、Click当单击鼠标右键时触发事件MouseDown当按下鼠标时触发事件KeyPress当按下并放开键盘时触发事件Deleted当执行删除记录操作时触发事件GetFocus当控件对象获得焦点时触发事件Activate当表单或表单集被激活或者ToolBar对象显示时触发事件Load当载入表单到内存时触发事件Resize当对象改变大小时触发事件LostFocus当控件对象失去焦点时触发事件TimerTimer对象每个n毫秒将自动触发事件,n值由Interval属性设定14表单设计及运行 15表单的创建与运行 表单实际上就是Visual FoxPro系统提供的一个容器,它可以加入许多其他的控件对象和
12、容器对象。 16一、用表单设计器创建表单 1打开表单设计器 2表单控件工具栏 3设计表单中的对象 (1)添加控件对象 (2)删除表单中的对象 (3)设置对象属性4表单设计实例【例】设计一个如前图所示的表单,实现学生信息的浏览。本示例是设计一个“学生信息浏览”程序,涉及到对学生表的访问,这里暂时不做数据的连接。 17二、用表单向导创建表单1打开表单向导 (1)在项目项目管理器中打开。 (2)在工具菜单中打开。2用表单向导设计表单【例】用表单向导完成职工信息浏览。3用一对多表单向导设计表单当我们需要针对两个存在一对多关系的表创建表单时,就要选择一对多表单向导了。 【例】使用一对多表单向导建立一个职
13、工工资情况的表单程序。18三、用表单生成器创建表单1快速表单【例】用表单生成器设计一个表单。2快速添加字段19四、运行表单 在表单设计器中运行表单在程序中运行表单通过菜单运行表单20设置表单一、表单的属性属性名称说明AlwaysOnTop控制表单是否总在其他窗口之上AutoCenter控制表单初始化时是否自动居中BackColor设置表单窗口颜色BorderStyle设置表单的边框类型Caption设置表单的标题文字Closable控制用户是否能通过单击“关闭”框来关闭表单MaxButton控制表单是否有最大化按钮MinButton控制表单是否有最小化按钮Movable控制表单是否能够移动Sc
14、aleMode控制对象的度量单位是foxels或是象素Scrollbars控制表单滚动条的类型TitleBar控制表单是否在顶部显示标题栏ShowWindow控制是否显示表单WindowState控制表单的状态是最小化、最大化或正常状态21二、表单的事件与方法 事件或方法名称说 明Init事件建立表单时触发Destory事件释放表单时触发Click事件单击表单时触发Show方法显示表单Hide方法隐藏表单Release方法释放表单Refresh方法刷新表单22三、数据环境 当需要设计针对数据表操作的表单时,就需要设置表单的数据环境。数据环境是一个容器对象,它包含与表单向后作用的表或视图,以及表单所要求的表之间的关系。 设置数据环境从数据环境
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海立达学院《影视文学鉴赏》2023-2024学年第一学期期末试卷
- 浙江省宁波市“十校”2025届高考数学试题模拟试卷(5月份)含解析
- 平顶山市汝州市2024-2025学年三下数学期末达标检测模拟试题含解析
- 2024-2025学年福建省四地六校高三第二次质量监测物理试题含解析
- 北京西城区育才中学2025年教育教学质量监控高三年级物理试题含解析
- 上海建桥学院《测量数据处理课程设计》2023-2024学年第一学期期末试卷
- 兰考三农职业学院《单片机原理及应用技术》2023-2024学年第二学期期末试卷
- 中国政法大学《茶叶生物化学》2023-2024学年第二学期期末试卷
- 龟板法律法规宣传教育-深度研究
- 跨文化交流中的政治文化传播问题-深度研究
- 2025年会计招聘的面试题及答案
- 2025年工程测量员(技师)职业技能鉴定理论考试指导题库(含答案)
- 金属熔融岗位培训课件
- 污水处理厂工程设备安装施工方案及技术措施
- 2025年海南海口市水务局招聘事业单位人员35人历年高频重点模拟试卷提升(共500题附带答案详解)
- 2025年关联公司资金往来协议
- 交警大队合同范本
- 产业转移课件-2024-2025学年高三一轮复习人教版(2019)地理选择性必修2
- 2025年02月中国科协所属单位公开招聘社会在职人员14人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 2025-2030年中国电动滑板车市场运行动态及发展规划分析报告
- 中考英语专题总复习-题型9省公开课一等奖百校联赛赛课微课获奖课件
评论
0/150
提交评论