1、要求: 1、理解OOP的基本概念 2、掌握对象的处理方法 3、熟悉常用的事件和方法,第8章 面向对象的程序设计,8.1 面向对象的程序设计概述 8.2 对象的处理,OOP面向对象程序设计 把要处理的问题分解为若干个功能独立的“对象”,然后通过对对象的属性、事件、方法等的设计来实现各个对象的功能。 特点:直观简单,所见即所得。,8.1 面向对象的程序设计概述,1、对象(Object)对客观世界中一切事物的一种抽象。可以是客观世界存在的任何实体。对象既可以是具体的事物,也可以指某一个概念、某种事件或者某个规则等。如:一本书、一个教室、一名教师、一名学生、一门课程或者是WINDOWS窗口中的一个命令
2、按钮等。,8.1.1 OOP的基本概念,2、类(Class)不同的对象具有不同的特征,许多对象除了具有自己的个性特征之外,还具有许多对象都具有的共性,将这组对象的共性特征概括抽象出来,就是类。例如:铅笔、钢笔、圆珠笔、毛笔等是功能不同的学习用具,但同时它们也具有一定的共性,将它们都统称为笔,“笔”就是一个类,而当具体指某一支笔时,称为对象。,8.1.1 OOP的基本概念,类是对一组具有相同属性和行为特征的对象的抽象; 对象是类的一个实例;,铅笔,类,对象,8.1.1 OOP的基本概念,3、属性(Property):描述了对象的状态和特征,可以由确定的属性特征值来定义。 4、事件(Event):
3、可以由对象识别的一个动作或者对象能够响应的某种操作。如:Click事件 5、方法(Method)对象可以完成的一个操作。如:Release方法,8.1.1 OOP的基本概念,对象的属性、事件和方法举例。,方法: 飞走、爆炸,事件: 松手、箭刺,属性:黄色、充满氢气,8.1.1 OOP的基本概念,对象的属性、事件、方法举例,对象,属性,事件,方法,8.1.1 OOP的基本概念,1、封装性类的内部信息对用户而言是隐藏的。 2、继承性子类具有延用父类特征的能力。 3、多态性由同一个父类派生出来的多个子类,在继承了父类的全部功能的同时,还可以添加各自不同的属性和行为,从而使得相互之间具有功能上的差异。
4、,8.1.2 OOP的特点,基类:Visual FoxPro内部预先定义好的类,可以作为其他用户自定义类的基础。 基类的分类:容器类:可以包含其他对象的基类。表单、表格、命令按钮组、选项按钮组控件类:不能包含其他对象的基类。标签、文本框、复选框、命令按钮,8.1.3 Visual FoxPro的基类,1、对象的引用绝对引用:从容器的最高层引用对象。相对引用:相对于某个容器层次引用。如:this、thisform、this.parent 2、属性的设置引用对象 . 属性=属性值如:thisform.text2.value=time(),8.2 对象的处理,表单“Form1”中包含2个文本框Tex
5、t1和Text2、1个选项按钮组OptionGroup1、1个页框PageFrame1;选项按钮组中有2个选项按钮Option1和Option2,页框中包含2个页面Page1和Page2;页面Page1中包含1个表格Grid1和2个命令按钮Command1和Command2,8.2 对象的处理,4、方法的调用方法程序:对象能够执行的一个操作。调用语法. 例:1.释放表单:Thisform.release2.并将焦点设置在文本框Text2上: thisform.Text2.SetFocus,8.2 对象的处理,8.2 对象的处理,5、常用事件和方法(了解)常用事件:Click、DblClick、InterActiveChange、GotFocus、Timer、Init常用方法:Refresh、Release、SetFocus、Show、 Hide,OOP对象和类的概念属性、事件和方法的定义OOP的特点类的分类:容器类与控件类对象的处理:绝对引用与相对引用、 属性设置、方法调用,本章总结,