资源预览内容
第1页 / 共162页
第2页 / 共162页
第3页 / 共162页
第4页 / 共162页
第5页 / 共162页
第6页 / 共162页
第7页 / 共162页
第8页 / 共162页
第9页 / 共162页
第10页 / 共162页
亲,该文档总共162页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
RestExerciseRestExercise第第 8 8 章章面向对象程序设计面向对象程序设计q支持面向对象编程是Visual FoxPro的一大特色 ,掌握面向对象程序设计,能深入体会、理解 Windows程序的设计方法。面向对象的程序设计 方法与可视化技术相结合,使人机界面进入GUI 时代 q本章主要为初学者建立面向对象程序设计的基 本概念,掌握Visual FoxPro中基于面向对象技术 的表单程序设计Date1第 8 章 面向对象程序设计 - He-MingruiRestExerciseRestExercise教学要求教学要求 q掌握面向对象程序设计的基本概念:类、对象 、属性、事件、方法、类的特性(封装性和继承 性) q掌握对象的引用方法 q掌握表单的概念、表单的设计方法,掌握常用 控件的属性、事件和方法,重点掌握事件代码和 方法程序的编写。这是本课程的重点和难点 q掌握下拉菜单和快捷菜单的建立方法 q了解报表的相关概念,掌握报表的设计及调用标签、文本框、命令按扭与命令按扭组、 复选框与选项按扭组、列表框、组合框 Date2第 8 章 面向对象程序设计 - He-MingruiRestExerciseRestExercise本章重点本章重点 面向对象程序设计的基本概念 表单设计的基本方法本章难点本章难点面向对象程序设计基本概念 表单控件使用及属性设置 事件驱动编程Date3第 8 章 面向对象程序设计 - He-MingruiRestExerciseRestExercise第第 1 1 节节 面向对象程序设计概述面向对象程序设计概述q面向对象的程序设计(OOP- Object Oriented Programming)是近年来发展起来的一种新的程序设计方法 ,该方法简单、直观、实用、自然 , 十分接近人类处理问题的自然思维方式 q面向对象程序设计从所处理的数据入手,以数据为中心 而不是以功能为中心来描述系统 q本节内容l类与对象 l对象的属性、事件与方法 l面向对象编程 l面向对象编程实例Date4第 8 章 面向对象程序设计 - He-MingruiRestExerciseRestExerciseq 一个简单面向对象程序的编写示例表单上有两个按钮:按钮Command1的标题是“奥运加油” ,按钮Command2是“中国加油”。表单运行时,标签 Label1的标题是“奥运加油”,单击“中国加油”按钮时, Label1的标题变成“中国加油”;单击“奥运加油”按钮时, Label1的标题变成“奥运加油” 1)创建容器对象 - 表单 2)布局控件对象:添加一个标签和 两个命令按钮 3)设置对象属性:标签的FontSize 、Caption,命令按钮的Caption 4)编写事件代码:命令按钮的 Click事件代码 5)保存奥运-中国加油.scxDate5第 8 章 面向对象程序设计 - He-MingruiRestExerciseRestExerciseq 一、面向对象程序设计的基本概念 q 1. 对象(Object)在应用领域中,有意义的、且与所要解决的问 题有关系的任何事物都可以作为对象,它既可以是具体 的物理实体,如一个人、一名学生、一所学校、一部电 话机;也可以是一些无法整体触及的抽象事件,如一次 演出、一次贷款等 所有这些对象都具有各自不同的特征例如一部电话机,它是一个客观存在,人们把它叫“电话机”。其次 它具有颜色、大小、按键方式等特征。再其次它具有一些功能,如 拨号打电话、免提、存储等同样对一个人来说,首先他是一个客观存在、具有一个名字来标识 的事物,其次他具有性别、年龄、身高、体重等体现其自身状态的 特征,再其次他具有一些技能和行为,如会操作电脑、会说英语等 Date6第 8 章 面向对象程序设计 - He-MingruiRestExerciseRestExercise面向对象程序设计的基本概念q对象具有以下特征q有一个名字以区别于其他对象q有一组状态用来描述它的特征q有一组操作,每一个操作决定对象的一种功能 或行为 q对象的操作可分为两类:一类是自身所承受的操 作,一类是施加于其他对象的操作 q从可视化编程的角度来看,对象是一个具有属性(数据) 、能处理相应事件、具有特定方法(行为方式)、以数据为中心的统一体。简单地说,对象是一种将数据和操作过 程封装在一起而构成的统一体 q一个对象建立以后,其操作就通过与该对象有关的属 性、事件和方法来描述Date7第 8 章 面向对象程序设计 - He-MingruiRestExerciseRestExercise面向对象程序设计的基本概念 q 2. 对象的属性、事件和方法 q (1) 属性(Proprity)属性是一组用于描述对象的物理特征的值,例如:一个 汽车对象由颜色、尺寸、品牌、厂家等基本属性描述在Visual FoxPro中,一个命令按钮具有名字(Name)、 标题(Caption)、能否激活(Enabled)等属性,这使得用户可以通过控制对象的这些属性值来操作这些对象属性值既可以预先定义,也可以在程序运行过程中由程 序定义的修改Date8第 8 章 面向对象程序设计 - He-MingruiRestExerciseRestExercise面向对象程序设计的基本概念q (2) 事件(Event)事件是由对象识别的一个动作,用户可以编 写相应代码对此动作进行响应。事件可以由一个用 户动作产生,如单击鼠标或按键盘键位,也可以由 程序代码或系统产生,如计时器。多种情况下,事 件是通过用户的交互操作产生的 在 Visual FoxPro 中,可以激发事件的用户 动作包括:单击鼠标Click、双击鼠标DblClick、按 键KeyPress、移动鼠标MouseMove等 Visual FoxPro中的事件集是固定的,用户不能建立新的事件,因此系统提供了丰富的内部事 件Date9第 8 章 面向对象程序设计 - He-MingruiRestExerciseRestExercise面向对象程序设计的基本概念q (3) 方法(Method)方法是对象能够执行的一个操作,表示对象 的一种行为(或功能 或提供的服务),它只局限于被封装的对象调用 每个类型的对象都有它的方法集,一个方法 实现一个特定的目的。调用时要按照调用方法的规 则(接口)来书写 在Visual FoxPro中,方法分为以下两种:内部方法:已经预先定义好的,其 功能和代码已封装在类中,用户不得更改。例如 刷新方法Refresh、释放表单方法Release等自定义方法:是用户根据需要所编 写的过程Date10第 8 章 面向对象程序设计 - He-MingruiRestExerciseRestExercise面向对象程序设计的基本概念 q 3. 类(Class) “类”是对一组客观对象的抽象,它将该组对象所具 有的共同特征(属性和行为)集中起来,以说明该组对象的能力 和性质例 :一个面向对象的图形程序在屏幕上要画三个圆 在屏幕左下角显示一个半径 2cm 的绿颜色的圆 在屏幕中部显示一个半径 5cm 的红颜色的圆 在屏幕右上角显示一个半径 4cm 的黄颜色的圆三个不同的对象:圆心位置、半径大小和颜色均不相同 它们有相同的特征: 都有相同的数据 :圆心坐标、半径、颜色 相同的操作:显示自己、放大缩小半径、在屏幕上移动位置抽象出一个 “circle类” :(radius , x , y , color)x,yradius colorDate11第 8 章 面向对象程序设计 - He-MingruiRestExerciseRestExercise面向对象程序设计的基本概念q (1) 实例(Instance)实例是由某个特定的类所描述的一个具体的对象。类与实 例之间的关系可以看成是抽象与具体的关系,类是多个实 例的综合抽象,而实例则是类的个体实物类是建立对象时使用的模板,它定义了对象特征以及对象 外观和行为。按照这个模板所建立的一个个具体的对象, 就是类的实例 对于同一类的不同实例之间,必定具有以下特点: 相同的属性集合 相同的操作集合 不同的对象名 Date12第 8 章 面向对象程序设计 - He-MingruiRestExerciseRestExercise面向对象程序设计的基本概念q (2) 基类和子类类可以划分为基类和子类,也叫父类和派生类。子类以 其基类为起点,并可继承基类的特征例如水果是基类,苹果是子类,而红富士、黄元帅等苹 果品种又是苹果类的子类。水果称为苹果的父类,苹果 也称为红富士、黄元帅等的父类子类不但具有父类的全部属性和方法,而且允许用户根 据需要对已有的属性和方法进行修改,或添加新的属性 和方法。这种特性称为类的继承性Date13第 8 章 面向对象程序设计 - He-MingruiRestExerciseRestExercise面向对象程序设计的基本概念q (3) 类的特性封装性封装性是指类的内部信息对用户是屏蔽的,即将对象的属性、方 法程序包装在一起。例如:用于确定命令按钮外观、位置等的属 性和鼠标单击该命令按钮时所执行的代码是被封装在一起的子类不但具有父类的全部属性和方法,而且允许用户根据需要对 已有的属性和方法进行修改,或添加新的属性和方法。这种特性 称为类的继承性继承性。有了类的继承,用户在编写程序时,可以把具 有普遍意义的类通过继承引用到程序中,并只需添加或修改较少 的属性、方法,这种自动更新节省了用户的时间和精力,减少了 维护代码的难度多态性多态性是指一些相关的类包括同名的方法程序,但方法程序的内 容不同。在运行时,根据不同的对象、类及触发的事件、控件、 焦点确定调用哪种方法程序Date14第 8 章 面向对象程序设计 - He-MingruiRestExerciseRestExercise面向对象程序设计的基本概念Visual FoxPro有两 大主要类型的类 容器类 控件类 建立的对象有 容器对象 控件对象 可视 非可视 q 4. Visual FoxPro的基类Date15第 8 章 面向对象程序设计 - He-MingruiRestExerciseRestExercise面向对象程序设计的基本概念q (1) 容器类与容器类对象容器对象内既可以包含其他容器对象,也可以 包含控件对象容器名称能包含的对象CommandGroup命令按钮组命令按钮Container容器任意控件 Control控件任意控件 Custom自定义任意控件、页框、容器和自定义对象 FormSet表单集表单、工具栏 Form表单页框、任意控件、容器或自定义对象 Grid表格表格列 Column表格列表头和除表单集、表单、工具栏、计 时器、其他列以外的任一对象 OptionGroup选项按钮组选项按钮 PageFrame页框页面 Page页面任意控件、容器和自定义对象 ToolBar工具栏任意控件、页框和容器容 器 类 及 其 能 包 含 的 对 象Date16第 8 章 面向对象程序设计 - He-MingruiRestExerciseRestExercise面向对象程序设计的基本概念容器对象与控件对象关系示意图 控件 容器容器中的对象 Date17第 8 章 面向对象程序设计 - He-MingruiRestExerciseRestExercise面向对象程序设计的基本概念q (2) 控件类与控件类对象 l控件对象是通过控件类建立的对象,控件类不能容纳 其他对象,控件对象是用户和程序进行交互的主要方式 l两种类型的控件:绑定型控件 和 非绑定型控件绑定型控件(Bound Control)u绑定型控件是
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号