版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、面向对象程序设计,面向对象程序设计概述,一、面向对象程序设计概念 1对象 对象是对客观存在的具体事物的表示。 对象有属性和方法。 2类 类是具有相同属性和方法的一组对象的集合。在OOP方法中,“类”是对现实世界的一种高度抽象。 从程序设计者的角度观察,“类”是一个数据模式和若干个程序过程经封装而形成的一个整体,它是使用信息技术对现实世界的一种模拟与抽象,而“对象”则是“类”的一个实例,是OOP方法中构成程序的基本单位。,3属性 属性是对象的一组特征数据。每个对象都有多个属性来描述,不同的对象可以有相同的属性,但必须有不同的属性值来区分他们。 4事件与方法 事件是对象触发的行为描述,它是预先定义
2、好的动作,通过用户的操作或系统来激活。事件是通过用户的交互操作产生的。 方法是与对象相关的过程,通过调用对象的方法,可以完成某些任务,所以方法是需要显示调用的。,5封装性、继承性和多态性 OOP的方法中有3个基本特性:封装性、继承性和多态性。 封装性,是使抽象性成为可能,简单的说就是信息隐藏。我们把事物的共同属性和方法封装在一起,从而让使用者,不必了解其是怎样实现的。 继承性是面向对象程序设计中的一个重要概念,它是从现有的类中派生出新的类的特性。通过对父类的继承,可以避免数据和方法的重复,实现了代码的可重用性,为代码的维护提供了极大方便。具体而言,就是一个类可以有子类,子类将继承其父类的属性和
3、方法,并可以定义自己特定的属性和方法。 多态性主要是指一些关联的类包含同名的方法,但方法的内容可以不同。具体调用哪种方法应在运行时根据具体对象所属的类确定。,面向对象程序设计方法,一、Visual FoxPro中的基类 Visual FoxPro中有两大基类:容器类和控件类。因此Visual FoxPro中的对象也分为两大类型,容器对象和控件对象。Visual FoxPro中提供了21种常用基类,每一个基类对应一个Visual FoxPro工具栏的图形按钮。 1容器类 容器类对象可以包含其他对象,并允许访问这些对象。 2控件类 控件类是可以包含在容器类中并可以由用户派生的Visual FoxP
4、ro基类。控件类不能包含其他对象,其封装比容器类更严密。当需要访问放入到容器中的控件对象时,需要经过容器进行引用。 其基本格式: 容器对象.控件对象.属性属性值,二、类的创建 创建类的操作主要有两种方式:用类设计器创建类和以编程方式定义类。 用类设计器创建类 以编程方式定义类 【例】通过编程的方式定义一个类。 代码如下: DEFINE CLASS MyForm AS FORM width=10 ENDDEFINE,三、对象的操作 对象就是类的一个实例,在面向对象的程序设计中,最终的程序功能的完成是由对象去做的。 1、由类创建对象 (1)创建对象 【格式】 CREATEOBJECT(“类名”)
5、例如: F1CREATEOBJECT(“Form”) & 创建一个Form类的对象F1 B1=CREATEOBJECT(“CommandButton”) & 创建一个CommandButton类的对象B1,(2)释放对象 对象作为内存中的变量,将占用着内存资源。当我们不需要某些对象时,就可以释放对象 . 【格式】 RELEASE |ALL LIKE 例如: RELEASE F1 & 释放对象F1 RELEASE ALL LIKE B* & 释放所有名字以“B”开头的对象,如果我们要引用对象“Text1”,并将其“Caption”属性设置为“控件”,则可以进行的操作是: Thisform.pag
6、eframe1.page1.text1.Caption=”控件” 除了可以通过层次关系直接的引用对象,我们还可以从相对位置进行对象引用。常用的关键字有: Parent:当前对象的父容器 This:当前对象 ThisForm:包含当前对象的表单,(3)对象的引用 在Visual FoxPro中引用一个对象,需要知道这个对象相对于容器的层次关系。,2设置对象属性 对象的属性承载着与对象相关的某些数据信息,其值可以在设计阶段设置,也可以在程序运行过程中进行修改。设置对象属性的语法是如下。 【格式1】 【格式2】 WITH 属性名1属性值1 属性名n属性值n ENDWITH 格式1:对于对象的一个属性
7、进行设置值。 格式2:可以同时为对象的多个属性设置值。,【例】设计一个表单程序。表单对象中,包含一个标签,一个文本框和一个命令按钮对象。 AddObject()方法。它的作用是在一个容器对象中添加一个对象。 格式:.AddObject(,) 设计步骤如下: *新建一个表单对象,表单中包含一个标签,一个文本框和一个命令按钮 form=CreateObject(form) & 创建表单对象“form” form.caption=一个表单程序 & 设置“form”的标题属性 form.AddObject(label1,Label) & “form”上加入一个标签 form.AddObject(edi
8、t1,TextBox) & 加入一个文本框对象 form.AddObject(command1,CommandButton) & 加入一个按钮对象 form.label1.Top=10 & 设置标签对象的顶端高度,form.label1.Visible=.T. & 设置标签可见 form.label1.Caption=请输入姓名: & 设置标签的标题 form.label1.AutoSize=.T. & 设置标签自动调整大小 form.edit1.Top=40 & 设置文本框顶端高度 form.edit1.width=300 & 设置文本框宽度 form.edit1.Visible=.T. &
9、 设置文本框可见 mand1.Caption=命令按钮 & 设置按钮标题 mand1.Visible=.T. & 设置按钮可见 mand1.Top=70 & 设置按钮的顶端高度 mand1.Left=20 & 设置按钮的左端宽度 form.show(1) & 显示表单对象,3调用对象方法 【格式】 对象名.方法名 例如: Form1.Refresh & 重画表单Form1,并刷新所有值 每个对象的方法有很多,并且不同的对象可以有相同的方法。,4触发对象事件 事件是预先设定好的特定动作,由用户或系统来激活。用户是不能创建新事件的,这点跟方法不一样。在平常的计算机操作中,我们做出某些动作后,将引发
10、相应的事件。,表单设计及运行,表单的创建与运行,表单实际上就是Visual FoxPro系统提供的一个容器,它可以加入许多其他的控件对象和容器对象。,一、用表单设计器创建表单 1打开表单设计器 2表单控件工具栏 3设计表单中的对象 (1)添加控件对象 (2)删除表单中的对象 (3)设置对象属性,4表单设计实例 【例】设计一个如前图所示的表单,实现学生信息的浏览。 本示例是设计一个“学生信息浏览”程序,涉及到对学生表的访问,这里暂时不做数据的连接。,二、用表单向导创建表单 1打开表单向导 (1)在项目项目管理器中打开。 (2)在工具菜单中打开。 2用表单向导设计表单 【例】用表单向导完成职工信息
11、浏览。 3用一对多表单向导设计表单 当我们需要针对两个存在一对多关系的表创建表单时,就要选择一对多表单向导了。 【例】使用一对多表单向导建立一个职工工资情况的表单程序。,三、用表单生成器创建表单 1快速表单 【例】用表单生成器设计一个表单。 2快速添加字段,四、运行表单 在表单设计器中运行表单 在程序中运行表单 通过菜单运行表单,设置表单,一、表单的属性,二、表单的事件与方法,三、数据环境 当需要设计针对数据表操作的表单时,就需要设置表单的数据环境。数据环境是一个容器对象,它包含与表单向后作用的表或视图,以及表单所要求的表之间的关系。 设置数据环境 从数据环境设计器中移去表 在数据环境设计器中设置关系,四、表单的布局 当在表单上加入了控件时,我们知道
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公建用房智能化工程施工方案
- 特区建工集团2026届春季校园招聘备考题库及参考答案详解【夺分金卷】
- 2026天津市安定医院招聘第三批派遣制人员3人备考题库及完整答案详解(名校卷)
- 售后维修责任保证承诺书8篇
- 2026江西南昌市西湖区图书馆招聘1人备考题库(突破训练)附答案详解
- 采购规范管理承诺书范文6篇
- 公司月度质量例会制度
- 2026国家统计局琼中调查队招聘公益性岗位人员1人备考题库【基础题】附答案详解
- 2026西藏中共林芝市委员会宣传部招聘公益性岗位工作人员2人备考题库含答案详解【培优a卷】
- 2026松原吉林油田医院招聘38人备考题库附完整答案详解(必刷)
- 公司零星采购管理办法
- 2025年山东省中考道德与法治试卷真题(含答案)
- 村委会党员春训活动方案
- 睾丸扭转超声诊断
- 希望小学奠基活动方案
- GB/T 16405-2025声学管道消声器无气流下插入损失测量实验室简易法
- QGDW11451-2015架空输电线路标识及安装规范
- 征兵心理测试题目及答案
- ASTM G154-23译本 中文版【后附英文官方原版 可复制可检索】
- 加装电梯可行性研究报告范文
- 安徽省皖北协作体2025届高三年级下册一模考试 化学试卷(解析版)
评论
0/150
提交评论