《数据库系统及应用第8章-面向对象程序设计.ppt》由会员分享,可在线阅读,更多相关《数据库系统及应用第8章-面向对象程序设计.ppt(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第8 8章面向对象程序设计章面向对象程序设计数据数据库系系统及及应用用第第8 8章面向对象程序设计章面向对象程序设计教学目标教学目标教学目标教学目标面向对象程序设计不同于结构化程序设计,它针对对象进行编程,采用了事件驱动的程序设计思想。面向对象程序设计的核心是对象和类。Visual FoxPro为用户提供了丰富的基类,包括容器类和控件类。程序设计人员不仅可以使用基类创建对象,也可以在基类的基础上创建用户自定义新类。对象是类的实例,对象具有属性、方法和事件。上述内容是本章的教学重点。数据数据库系系统及及应用用第第8 8章面向对象程序设计章面向对象程序设计教学要求教学要求教学要求教学要求知识要点
2、知识要点能力要求能力要求关联知识关联知识对象与类掌握对象与类之间的关系对象与类的特性容器类与控件类区分容器类与容器对象、控件类与控件Visual FoxPro的基类用户自定义类能创建并使用自定义类类设计器对象的属性、事件与方法掌握对象属性、事件与方法的基本概念,了解Visual FoxPro基类的常用属性、事件与方法类设计器、控件工具栏表单设计器、属性窗口数据数据库系系统及及应用用8.18.1基本概念基本概念8.1.1对象与类对象对象1对象(Object)是现实世界中个体或事物的抽象表示。客观世界里的任何实体都可以被看作是对象,它可以是具体的物,也可以是某些概念。每个对象都具有描述其特征的属性
3、及附属于它的行为和方法。对象具有如下特征:有一个特定的名字以区别于其他对象。有一组属性,用来描述对象的静态特征。有一组行为,用来描述对象的动态特征。数据数据库系系统及及应用用8.18.1基本概念基本概念8.1.1对象与类类类2类(Class)是具有相同属性特征和行为规则的多个对象的一种统一描述。类和对象的概念很相近,但又有所不同。类是抽象的,对象是具体的。类是对象的抽象描述,它只是定义对象的属性及方法,但其本身并不完成任何操作。对象则是类的实例,所有的实际操作都是由对象来完成的。数据数据库系系统及及应用用8.18.1基本概念基本概念8.1.1对象与类对象与类的特性对象与类的特性3(1)封装性)
4、封装性(2)抽象性)抽象性(3)继承性)继承性(4)层次性)层次性(5)多态性)多态性数据数据库系系统及及应用用8.18.1基本概念基本概念8.1.2面向对象的程序设计结构化程序设计方法和大多数人的思维方式比较接近,所以它的优点是易于理解和掌握。主要表现在以下几个方面:结构化设计方法面向过程,用这种方法设计的程序流程完全由程序员控制,用户只能做由程序员预先安排好的事情。采用结构化方法编写程序时,程序设计人员需用大量时间去设计输入和输出界面。即便如此,也很难取得和WINDOWS操作系统一样的界面效果。采用结构化方法开发的应用程序,在执行过程中一直独占计算机的各种资源,难于实现多任务操作。数据数据
5、库系系统及及应用用8.28.2Visual FoxProVisual FoxPro的类的类8.2.1Visual FoxPro的基类基类基类1类名类名中文类名中文类名类名类名中文类名中文类名FormSet表单集ComboBox组合框Form表单CommandButton命令按钮Container容器CheckBox复选框PageFrame页框Image图像Page页面Spinner微调Grid表格Timmer计时器Column列OLE controlActiveXOptiongroup选项按钮组OLE Bound ControlActiveX绑定CommandGroup命令按钮组Shape形状
6、ToolBar工具栏Line线条Label标签Separator分隔符TextBox文本框Hyperlink超级链接EditBox编辑框Header表头ListBox列表框Custom自定义数据数据库系系统及及应用用8.28.2Visual FoxProVisual FoxPro的类的类8.2.1Visual FoxPro的基类容器类和控件类容器类和控件类2容器类(容器类(Container)用来创建容器对象(简称容器)。容器中可以容纳别的对象,并允许访问所包含的对象。控件类(控件类(Control)用来创建控件对象(简称控件)。控件是一个能以图标形式显示的对象,它的封装比容器类更为严密。数据
7、数据库系系统及及应用用8.28.2Visual FoxProVisual FoxPro的类的类8.2.1Visual FoxPro的基类基类的最小属性及事件集合基类的最小属性及事件集合3属性属性说明说明Class该类属于何种类型BaseClass该类由何种基类派生出来ClassLibrary该类从属于哪种类库ParentClass该类属于何种父类。若该类直接由基类派生出来的,则 ParentClass 属性值与 BaseClass 属性值相同。事件事件说明说明Init当对象创建时激活Destroy当对象从内存中释放时激活Error当类中的事件或方法过程中发生错误时激活数据数据库系系统及及应用用
8、8.28.2Visual FoxProVisual FoxPro的类的类8.2.2用户自定义类通过类设计器创建新类通过类设计器创建新类1数据数据库系系统及及应用用8.28.2Visual FoxProVisual FoxPro的类的类8.2.2用户自定义类通过类设计器创建新类通过类设计器创建新类1数据数据库系系统及及应用用8.28.2Visual FoxProVisual FoxPro的类的类8.2.2用户自定义类通过类设计器创建新类通过类设计器创建新类1数据数据库系系统及及应用用8.28.2Visual FoxProVisual FoxPro的类的类8.2.2用户自定义类通过类设计器创建新类
9、通过类设计器创建新类1数据数据库系系统及及应用用8.28.2Visual FoxProVisual FoxPro的类的类8.2.2用户自定义类使用自定义类使用自定义类2数据数据库系系统及及应用用8.28.2Visual FoxProVisual FoxPro的类的类8.2.2用户自定义类使用自定义类使用自定义类2数据数据库系系统及及应用用8.28.2Visual FoxProVisual FoxPro的类的类8.2.2用户自定义类使用自定义类使用自定义类2数据数据库系系统及及应用用8.28.2Visual FoxProVisual FoxPro的类的类8.2.2用户自定义类使用自定义类使用自定
10、义类2数据数据库系系统及及应用用8.28.2Visual FoxProVisual FoxPro的类的类8.2.2用户自定义类使用自定义类使用自定义类2数据数据库系系统及及应用用8.28.2Visual FoxProVisual FoxPro的类的类8.2.2用户自定义类使用自定义类使用自定义类2数据数据库系系统及及应用用8.38.3Visual FoxProVisual FoxPro的对象操作的对象操作8.3.1对象的引用对象的层次对象的层次1数据数据库系系统及及应用用8.38.3Visual FoxProVisual FoxPro的对象操作的对象操作8.3.1对象的引用对象的引用对象的引用
11、2(1)绝对引用)绝对引用通过提供对象的完整容器层次来引用对象称为绝对引用。这种引用方式通过被引用对象与其所有父对象的层次关系来描述对象位置。绝对引用包括属性引用和方法引用,其引用格式如下:属性的绝对引用格式:父对象名.对象名.属性名方法的绝对引用格式:父对象名.对象名.方法名说明:父对象是包含被引用对象的外层对象,若父对象仍被其他对象包含,则也需按层次关系列出,直至到容器顶层。数据数据库系系统及及应用用8.38.3Visual FoxProVisual FoxPro的对象操作的对象操作8.3.1对象的引用对象的引用对象的引用2(2)相对引用)相对引用通过与当前对象的相对关系来引用对象称为相对
12、引用。相对引用格式如下:父对象关键字.对象名.属性名或者父对象关键字.对象名.方法名父对象关键字父对象关键字说明说明Parent引用当前对象的直接容器对象This引用当前对象ThisForm引用当前对象所在的表单ThisFormSet引用当前对象所在的表单集数据数据库系系统及及应用用8.38.3Visual FoxProVisual FoxPro的对象操作的对象操作8.3.2对象的属性、事件与方法对象的属性对象的属性1对象的属性根据其特点可分为以下几种类型:与操作方式、功能、效果有关的属性。与运行、操作条件有关的属性。与对象的引用有关的属性。与对象可视性有关的属性。与数据、信息有关的属性。在V
13、isual FoxPro中,设置对象属性值有两种方法:在设计阶段通过“属性”窗口设置属性值。在程序运行阶段通过赋值命令设置对象的属性。数据数据库系系统及及应用用8.38.3Visual FoxProVisual FoxPro的对象操作的对象操作8.3.2对象的属性、事件与方法对象的事件对象的事件2事件(Event)是外部实体作用在对象上的一个动作,是对象触发的行为描述。一个对象所具有的事件是固定的,这些事件均由系统预先定义,用户不能建立新的事件。事件的来源有三种:用户:如命令按钮的单击事件。程序:如表单的初始化(Init)事件。系统:如定时器的定时(Timer)事件。数据数据库系系统及及应用用
14、8.38.3Visual FoxProVisual FoxPro的对象操作的对象操作8.3.2对象的属性、事件与方法对象的事件对象的事件2事件事件名称名称激活动作激活动作Click鼠标左键单击DblClick鼠标左键双击RightClick鼠标右键单击DownClick单击控件上得向下箭头DragDrop鼠标拖动GotFocus获得当前聚焦对象LostFocus失去当前聚焦对象Init创建一个对象并对其初始化Destory释放一个对象Resize改变对象大小Load加载表单或表单集Activate激活表单或表单集Unload释放表单或表单集InteractiveChange使用键盘或鼠标更改一
15、个控件的值KeyPress按下并释放键盘的一个键MouseDown按下一个鼠标按键MouseUp释放一个鼠标按键Timer计时器事件Error对象运行发生错误数据数据库系系统及及应用用8.38.3Visual FoxProVisual FoxPro的对象操作的对象操作8.3.2对象的属性、事件与方法对象的事件对象的事件2当事件由用户或系统触发时,对象就会对该事件作出响应。系统为处理某一个特定事件而执行的程序代码就是事件过程。一个事件过程执行完以后,系统又处于等待另一个事件发生的状态,这种程序执行方式称为应用程序的事件驱动工作方式。一个对象可以识别一个或多个事件,因此,可以使用一个或多个事件过程
16、对用户或系统的事件作出响应。此外,事件过程也可以象方法一样被调用,从而使得程序的开发更加灵活有效。数据数据库系系统及及应用用8.38.3Visual FoxProVisual FoxPro的对象操作的对象操作8.3.2对象的属性、事件与方法对象的方法对象的方法3方法程序方法程序名称名称功能功能AddItem为控件ComboBox或ListBox添加一个新项Clear清除组合框、列表框控件的内容Cls清除表单上的文本和图形Hide隐藏对象Move移动对象Print显示字符串Quit结束一个Visual FoxPro事件Refresh刷新并重新绘制对象SetFocus为控件设置焦点数据数据库系系统及及应用用8.38.3Visual FoxProVisual FoxPro的对象操作的对象操作8.3.2对象的属性、事件与方法对象的方法对象的方法3在程序中可以用以下三种命令格式调用方法。格式一:对象引用.对象名.方法名格式二:对象引用.对象名.方法名 参数列表格式三:对象引用.对象名.方法名(参数列表)功能:调用指定的方法程序代码。说明:对象引用可以是绝对引用,也可以是相对引用。若方法程序没有参数,可采用格式一。若方法程序带有参数,可采用格式二或格式三。如果有多个参数,则参数间用逗号分隔。