Visual Foxpro 4事件代码与方法代码 事件代码与方法代码都是定义在某个对象中的一个程 序过程,有时也把两者统称为方法代码。但狭义地 说:事件代码可以由一个“事件”触发运行,其过 程名与事件名相同,而一般方法程序没有一个与之 对应的事件触发,必须靠其他程序调用才能得以运 行。因为不能为对象建立新的事件,所以一个对象 包含的事件代码是一定的,不能增加,而一个对象 中所包含的方法代码是可以任意增加的,就象在 个程序中可以使用任意多个过程和函数一样
Visual FoxPro 11 4.事件代码与方法代码 事件代码与方法代码都是定义在某个对象中的一个程 序过程,有时也把两者统称为方法代码。但狭义地 说:事件代码可以由一个“事件”触发运行,其过 程名与事件名相同,而一般方法程序没有一个与之 对应的事件触发,必须靠其他程序调用才能得以运 行。因为不能为对象建立新的事件,所以一个对象 包含的事件代码是一定的,不能增加,而一个对象 中所包含的方法代码是可以任意增加的,就象在一 个程序中可以使用任意多个过程和函数一样
Visual Foxpro 10.1.2子类与继承 既然“类”是OOP方法中对现实世界进行模拟与抽象 的一种工具,而现实世界中的类是分层次的,有大 类、中类、小类之分,如人类是地球上所有人的总 属类,在这个大的属类中,按肤色可进一步分为黄 种人、白种人、黑种人等,不同肤色的人除具有人 类这样一些共同的特征外,还具有某个肤色的人种 所独有的特征,在对人类进行研究时,如果不注意 这些不同的特征,研究就难以深入。OOP方法中 用“子类”来模拟现实世界中的类的层次问题。 12
Visual FoxPro 12 10.1.2 子类与继承 既然“类”是OOP方法中对现实世界进行模拟与抽象 的一种工具,而现实世界中的类是分层次的,有大 类、中类、小类之分,如人类是地球上所有人的总 属类,在这个大的属类中,按肤色可进一步分为黄 种人、白种人、黑种人等,不同肤色的人除具有人 类这样一些共同的特征外,还具有某个肤色的人种 所独有的特征,在对人类进行研究时,如果不注意 这些不同的特征,研究就难以深入。OOP方法中, 用“子类”来模拟现实世界中的类的层次问题
如果设计一个“类” CLASS STUDEN来模拟华中大学 全体学生组成的集合后,还可以以 CLASS STUDENT 类为基础来设计一个“子类” CLASS STUDENT COMPUTER来模拟华中大学计 算机系的学生。从现实生活中说,华中大学计算机系 的学生应该具有其属类华中大学的学生的全部特征和 行为规则,同时还具有这个系的学生独有的东西,在 OOP方法中正是完全模拟了这一点,以 CLASS STUDENT类”为基础建立的“子类” CLASS STUDENT COMPUTER会完全继承 CLASS STUDENT“类”的全部数据模式和“方法程 序”,并且可以对这些数据模式和方法程序进行修改。 这里,“类” STUDENT COMPUTER称为 “类” CLASS COMPUTER的“子类”,而 CLASS COMPUTER称为 CLASS STUDENT COMPUTER“父类”。在OOP方 法中,“子类”将继承其“父类”的全部特征和方法 程序,当然,在“子类”中可以对这些继承的特征和 方法程序进行修改以对该“子类”进行更准确的模拟
Visual FoxPro 13 如果设计一个“类”CLASS_STUDENT来模拟华中大学 全体学生组成的集合后,还可以以CLASS_STUDENT 类为基础来设计一个“子类” CLASS_STUDENT_COMPUTER来模拟华中大学计 算机系的学生。从现实生活中说,华中大学计算机系 的学生应该具有其属类华中大学的学生的全部特征和 行为规则,同时还具有这个系的学生独有的东西,在 OOP方法中正是完全模拟了这一点,以 CLASS_STUDENT“类”为基础建立的“子类” CLASS_STUDENT_COMPUTER会完全继承 CLASS_STUDENT“类”的全部数据模式和“方法程 序”,并且可以对这些数据模式和方法程序进行修改。 这里,“类”STUDENT_COMPUTER称为 “类”CLASS_COMPUTER的“子类”,而 CLASS_COMPUTER称为 CLASS_STUDENT_COMPUTER“父类”。在OOP方 法中,“子类”将继承其“父类”的全部特征和方法 程序,当然,在“子类”中可以对这些继承的特征和 方法程序进行修改以对该“子类”进行更准确的模拟
Visual Foxpro 注意,在上面反复说“子类”继承其“父类”的全部 特征模式和方法程序而不说成拷贝其“父类”的特 征和方法程序是因为这样一个事实,当对“父类” 进行修改后,这种修改会立即反映到所有以该“父 类”为基础而建立的全部“子类”中,不管这些 “子类”是在“父类”修改前还是修改后建立的。 “子类”对“父类”的继承如此,以一个“类”为基 础建立的“对象”对所属“类”的继承也是如此。 14
Visual FoxPro 14 注意,在上面反复说“子类”继承其“父类”的全部 特征模式和方法程序而不说成拷贝其“父类”的特 征和方法程序是因为这样一个事实,当对“父类” 进行修改后,这种修改会立即反映到所有以该“父 类”为基础而建立的全部“子类”中,不管这些 “子类”是在“父类”修改前还是修改后建立的。 “子类”对“父类”的继承如此,以一个“类”为基 础建立的“对象”对所属“类”的继承也是如此
FOXP 如前所述,当建立了“父类” CLASS STUDENT和 其“子类” CLASS STUDENT COMPUTER后, 如果要建立一个“对象” Object Student来模拟计 算机系的某个学生,可以用两种不同的方法来实现: (1)以 CLASS STUDEN“类”为基础建立“对 象” Object Student (2)以 CLASS STUDENT COMPUTER“类”为基础建 立“对象” Object Student。 从前面的分析中读者很容易判断,第二种方法建立的 对象 Object Student应该对计算机系的学生有更准 确更完整的模拟。 15
Visual FoxPro 15 如前所述,当建立了“父类”CLASS_STUDENT和 其“子类”CLASS_STUDENT_COMPUTER后, 如果要建立一个“对象”Object_Student来模拟计 算机系的某个学生,可以用两种不同的方法来实现: (1) 以 CLASS_STUDEN“ 类 ” 为 基 础 建 立 “ 对 象”Object_Student。 (2)以CLASS_STUDENT_COMPUTER“类”为基础建 立“对象”Object_Student。 从前面的分析中读者很容易判断,第二种方法建立的 对象Object_Student应该对计算机系的学生有更准 确更完整的模拟