件,怎么对这 些事件编写代码,对它进行操作就可以了。
4.类的特性
类是创建对象的模板,它定义了该类对象的 所有属性、事件和方法,从而决定了对象的属性 和它的行为。此外类还具有封装性、继承性等特 性。
(1)
封装性(Encapsulation) :将类的方
法、事件代码和属性封装起来。呈现给用户的是 供用户可以操作的接口,而实现某功能的具体代 码和技术细节则不需要用户了解。
(2)继承性(Inheritance):继承性是说明子类延用
其父类特征的能力,通过继承关系,可以利用已有的类构造 新类。
假定有一个名为Cmammal的基类(Base Class),它 定义了哺乳动物的特征与行为(如哺乳、胎生等),由此基 类可以创建出不同类型的哺乳动物类,如狗类Cdog,猫类 Ccat、马类Chorse等,它们会自动继承 Cmammal类的全部 特征与行为(如哺乳和胎生)。此外,这些子类还可以增加 不同的属性和方法来细化自身类的定义。 在创建对象时,可以用基类派生出另一个新类。通常把 从已有类派生出的新类称为子类,已有的类称为父类。继承 性提供了通过基类(父类)创建新的派生类(子类)的方法。 有了继承性,一方面可以减少代码的编写,另一方面可 以不断发扬光大某一个类,完善自己的程序。
Visual FoxPro基类
系统本身提供的类称为基类。用户可以 基于基类生成所需要的对象,也可以扩展基 类创建自己的子类,在程序设计中,可以使 用CREATEOBJECT函数来直接生成基于某 个类的对象。该函数的格式如下: CREATEOBJECT(<类名>[,<参数1>,<参数 2>,……]) 该函数基于指定的类生成一个对象,并返 回对象的引用。 什么是对象的引用?可以理解为电视机 与遥控器的关系。
Visual Foxpro基类 列表
类名 ActiveDoc CheckBox Column ComboBox CommandButton CommandGroup Container Contorl Custom EditBox Form FormSet Grid Header HyperLink Image 含义 活动
文档 复选框 (表格)列 组合框 命令按钮 命令按钮组 容器 控件 定制 编辑框 表单 表单集 表格 (列)标头 超级链接 图象 类名 Label Line Listbox Olecontrol Oleboundcontrol OptionButton Optiongroup Page PageFrame ProjectHook Separator Shape Spinner TextBox Timer ToolBar 含义 标签 线条
列表框 OLE容器控件 OLE绑定控件 选项按钮 选项按钮组 页 页框 项目挂钩 分隔符 图形 微调控件 文本框 定时器 工具栏
8.3 对象创建
Visual FoxPro 中的类一般可分为两种类型:容 器类和控件类。相应地,可分别生成容器 (对象)和控件(对象)。
该函数的格式如下: CREATEOBJECT(<类名>[,<参数1>,<参数 2>,……])
对象属性访问以及对象方法调用
<对象引用>.<对象属性> <对象引用>.<对象方法>[(参数列表)] 【例】基于Visual FoxPro的FORM类生成一个对象, 然后访问该对象的一些属性和方法。 Oform=CREATEOBJECT("Form") Oform.show Oform.caption=”演示” ?”这是一个生成对象的
演示程序” Oform.release
对象的引用
对象的引用分为绝对引
用和相对引用,通过这 两种方法都可以引用到(访问到)特定的对象: (1)绝对引用:从最高容器开始逐层向下直到某 个对象为止的引用称为绝对引用 (2)相对引用:从正在为之编写事件代码的对象 出发,通过逐层向高一层或低一层直到另一对象的 引用称为相对引用 使用相对引用常用到下表所列属性或关键字
属性或关键字 Parent This ThisForm ThisFormSet
引用 当前对象的直接容 器对象 当前对象 当前对象所在的表 单 当前对象所在的表 单集
对象的引用
f_invoke.scx
【例】如果Form1中有一个命令按钮组commandgroup1,该命令按钮 组有两个命令按钮:command1 和command2,label1是表单form1 上的一个标签控件。 如果要在命令按钮command1的事件(如单击事件)代码中修改该按钮 的标题可用下列命令: this.caption=