15.1面向对象基础
目的与要求: 通过本次课的学习,掌握VFP的子程序、过程与自定义函数。 | ||
教学内容与时间安排、教学方法: 教学安排: 面向对象的程序设计的基本概念、面向对象的程序设计的特点 40分钟 Visual FoxPro基类 40分钟 教学方法: CAI、图形、表格 | ||
教学重点及如何突出重点、难点及如何突破难点: 教学重点: 面向对象的基本概念、Visual FoxPro基类 教学难点: Visual FoxPro基类 | ||
基本内容 |
教学 |
课堂设计 |
9.1 面向对象的程序设计的基本概念 一、对象 ★面向对象程序设计的基本单元是对象,对象是对客观世界中事物的抽象。现实世界的实体--事、物、概念等,都统称为对象,而在面向对象系统中一切成份都是对象。例如在Visual FoxPro中数据库是对象,数据库中的表也是对象。表单是对象,表单上的控件也是对象。甚至整个应用系统和项目都是对象。 ★在Visual FoxPro中所有对象都具有属性、事件和方法,对象是一个封装了属性、事件和方法的实体。属性描述了对象的状态和特征,可以由确定的值定义。事件是可以由对象识别的动作,每当对对象进行某种操作时,就会引发该事件所对应的程序代码被执行。方法是对象可以完成的操作过程,方法可以操作对象数据,改变对象的状态和特征 二、类 ★“类”源于日常生活中类别、分类的概念,“类”是将相同属性和行为特征的对象,提取共同属性和特征而产生的,是对象抽象化的结果。 ★类与对象既有区别,又有联系。类是对象的蓝图和框架,类包含了有关对象的特征和行为信息,所有对象的属性、事件和方法都是在定义类时被指定。“对象”是类的具体实例,是将类所描述的共同特征赋予具体实体而形成的。 例如Visual FoxPro表单中的命令按钮是一个对象,它是由命令按钮类指定了外观属性和按钮所响应的事件后所生成的。 |
讲述 |
对象的概念5分钟
类3分钟 |
三、属性 不同的对象可以拥有各种相同或不同的属性,其中有些属性是只读并且无法改变的,而有些属性则可以通过设定来改变。例如,命令按钮的位置、大小、颜色、以及该按钮面上是显示文字还是图形等状态,都可用属性来表示。 四、事件 事件(Event)泛指由用户或系统触发的一种特定操作。例如用鼠标单击命令按钮,将会触发一个Click事件。一个对象可以有多个事件,但每个事件都是由系统预先规定的,可以具有与之相关联的方法程序。例如,为Click事件编写的方法程序代码将在Click事件出现时被执行。 五、方法 方法程序是Visual FoxPro为对象内定的通用过程,是指对象所固有的完成某种任务的功能,能使对象执行一个操作,可由我们在需要的时候调用。方法程序可以作为事件代码,也可以独立于事件而单独存在,但此类方法程序必须在代码中被显式地调用。 9.2 面向对象的程序设计的特点 面向对象的程序设计为编程带来了方便,具有封装性、继承性和多态性三个重要特点。 一、封装性 封装实际上是一种信息隐藏技术。封装的作用是将操作对象复杂的内部和应用程序的其他设计部分隔离开,使得用户在操作时,不需要去考虑它是如何执行的。例如,当您对一个命令按钮设置Caption属性时,不必了解标题是如何和这个命令按钮结合在一起的 二、继承性 由类派生出来的类称为子类,继承性即子类延用父类特征的能力。一个子类可以拥有其父类的全部功能,在此基础上,可以添加其他控件和功能。由于有继承性,就使得在一个类上所做的改动可以反映到它的所有子类当中,若发现类中有一个小错误,用户不必逐一修改各子类的代码,只需要在父类中改动,然后这个变动将会体现在全部子类中。若类的层次具有多层,则这种继承性还具有传递作用,即下层的子类可继承父类的全部功能 三、多态性 多态性主要是指一些关联的类包含同名的方法程序,但方法程序的内容可以不同,具体调用哪种方法程序在运行时根据对象的类确定。例如,相关联的几个对象可以同时包含Draw方法程序,当某个过程将其中一个对象作为参数传递时,它不必知道该参数是何种类型的对象,只需调用Draw方法程序即可。
-----------本节课结束-----------
9.3 Visual FoxPro基类 一、基类 Visual FoxPro具有基类和自定义类。基类是Visual FoxPro内部定义的类,可以作为其他用户自定义类的基础 例如,Visual FoxPro表单和所有控件就是基类,用户可以在此基础上创建新类,增添自己需要的功能。表8-4列出了Visual FoxPro的主要基类 每个基类都可能有区别于其它基类的属性、事件或方法,但Visual FoxPro基类至少包含以下三个事件(如表8-5所示)和四个属性(如表8-6所示) 二、容器类和控件类 Visual FoxPro中的基类又可分为容器类和控件类。 容器类是包含其他相似类的Visual FoxPro基类,可以容纳别的对象。 例如,一个表单可以包含一组控件类,将这些类作为一个整体进行操作。在表单中可以放入命令按钮、复选框、编辑框、直线及文本框等控件。因此,表单可属于容器类。 控件类是可以包含在容器类中并由用户派生的Visual FoxPro基类。控件类不能容纳其它对象,它的封装性比容器类更为严密。
|
|
属性5分钟
事件10分钟
方法5分钟
面向对象的程序设计的特点7分钟
基类的概念15分钟
容器类和控件类20分钟 |