文档介绍:面向对象的程序设计
第八章
Visual FoxPro
1
对象(Object):
现实世界中的事物均可抽象为对象,对象是构成程序
的基本单位和运行实体。
类(Class):
定义了对象特征以及对象外观和行为的模板,它刻划
了一组具有共同特性的对象。
属性:对象的特征。
方法:对象能够执行的一个操作,是和对象相联系的过程。
事件:由对象识别的一个动作。
面向对象设计的基本概念
(OOP:object-oriented programming)
2
圆柱体
纸圆柱体
大理石
圆柱体
木圆柱体
:纸质
:大理石
:木质
:(无)
对象属性
类属性
类是对象的抽象描述;
对象是具体的,它是类的实例。
类
对象
3
面向对象程序设计正是通过对类、子类和对象等的设计来体现的,类是面向对象程序设计技术的核心。
优点
以对象为中心的问题求解方法简化程序设计,更接近现实世界,可降低开发和维护的费用
提高程序代码的可重用性
可以和各种模型自然的融合
4
基类:系统本身提供的内部定义的类称为基类,可用于自定义类的基础。
子类:是以其它类定义为起点,为某一种对象所建立的新类。子类将继承任何对父类所做的修改。
用户自定义类:与基类相似,由用户定义,可用于派生子类。
类库:存储类的文件,每一个以可视方式设计的类都存储在一个类库中。 。
类
5
Visual FoxPro 的基类
注:从下述 Visual FoxPro 基类中,可以派生子类或创建对象,
“*”表示这些类是父容器的集成部分,在类设计器中不能子类化
6
类的特征:
封装性: (encapsulation)
隐藏了类中对象的内部数据或操作细节,只看到外表信息。
继承性: (inheritance)
任何类都可以从其它已有的类中派生,新类保持了父类中的行为和属性,但增加了新的功能。体现了面向对象设计方法的共享机制。
多态性:(polymorphism)
相同的操作可作用于多种类型的对象上,并获得不同的结果。
抽象性:(abstraction)
提取一个类或对象与众不同的特征,而不对该类或对象的所有信息进行处理。
7
容器类(Container classes)是包容其他类的基类
容器可以包含其它对象
容器可以作为所包含的对象的父对象
允许访问包含的对象
控件类(Control classes)是可以包含在容器类中的基类
控件对象可以包含在容器中
不能作为其它对象的父对象
类的分类:
8
Visual FoxPro 的容器类
9
对象是类的一个实例,包括了数据和过程。具有所在类所定义的全部属性和方法。
基于类的不同类型,VFP的对象可分为容器对象和控件对象。
每个对象都具有属性及与之相关的事件和方法。
对象
10