欢迎来到天天文库
浏览记录
ID:40225653
大小:332.50 KB
页数:48页
时间:2019-07-27
《第9章 面向对象程序设计简介》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第九章 面向对象程序设计简介9.1面向对象设计概述9.1.1面向对象程序设计的基本概9.1.2VisualFoxPro中的类9.1.3VisualFoxPro中的对象9.2创建类9.2.1类与任务的匹9.2.2创建新类9.2.3将属性和方法添加到9.2.4使用类库文件9.3面向对象程序设计9.3.1将类添加到表单中9.3.2在容器类中添加对象9.3.3设置属性9.3.4调用方法7/23/20211广州航海高等专科学校面向对象程序设计从根本上改变了VisualFoxPro应用程序的开发方法,把重点放在对象之间的联系,而不
2、是具体实现的细节。面向对象程序设计将对象的细节隐藏起来,使开发者将注意力集中在对象与系统其他部分的联系上。这与面向过程的程序设计方法有很大的区别。面向对象程序设计以类和对象设计为主,主要考虑怎样创建对象和创建什么样的对象,描述的是每个对象的属性和方法,以及对每个事件的响应,属性、方法和事件等封装在每个具体的对象中,从而构成一个应用系统。一个对象具有它自身的对外接口,对象所能接受的信息称为消息(message),一个对象还定义了一组自已可以进行的操作方法(method)。每个对象之间的联系通过发消息引发对方的方法而产生动
3、作,实现某种功能,从而改变系统的状态。每一个对象可以抽象为一个对象类,类将该组对象具有的共同特点集中起来,说明该组对象的能力和性质。类可以形成层结构,一个类的上层可以有超类(Superclass),下层可以有子类(Subclass),子类下面还可以有子类。面向对象技术具有封装性(encapsulation)和继承性(inheritance)。封装是一种信息隐蔽技术,封装使用户不能对对象的内部数据进行访问,从而使程序更加模块化,既方便使用者,更方便设计者对程序的维护和改进。继承使得子类可以继承父类的行为(操作、方法等)和
4、表现(实例变量)。通过继承我们可以在一个已知变化较少的类层次上建立一个新的类,而不用重新去设计它的每一部分。通过继承机制不断地扩充子类,实现增量型设计。第九章 面向对象程序设计简介9.1.1面向对象程序设计的基本概念概7/23/20212广州航海高等专科学校面向对象使软件具有重载与多态性(OverloadandPolymorphism),重载意味着函数并不仅以名字来区分,而且与它所带的参数以及参数的类型和顺序来定位;多态性意味着同一个消息可以根据发送消息对象不同采用多种不同的行为方式。编写程序尤其是大型程序时,利用面向
5、对象技术封装性设计的程序具有良好的模块性;良好的继承性便于增量型程序设计,并使之具有更大的重用性和较强的可维护性。VisualFoxpro6.0吸收了面向对象技术的特点与优点,在应用程序设计时采用对象的概念。面向对象技术中的对象、类、继承、封装以及重载与多态性在VisualFoxpro6.0中都能得到体现。类与对象是应用程序的组装模块,类和对象关系密切,但不相同。类包含了有关对象的特征和行为信息,是对象的蓝图和框架,类是定义在抽象层次上的。对象定义在类的基础上,是类的实例。例如,电话的电路结构和设计布局可以是一个类,而
6、这个类的实例(对象),便是一部电话。第九章 面向对象程序设计简介9.1.1面向对象程序设计的基本概念概7/23/20213广州航海高等专科学校类机制提高了代码的可重用性、安全性和易维护性。根据类可以创建类的实例----对象,以基类为基础可以创建新的类。VisualFoxPro的类有两种主要类型:容器类和控件类。基类、VisualFoxPro类以及对象的关系如图9-1所示。图9-1基类及控件和容器类对象的关系第九章 面向对象程序设计简介9.1.2VisualFoxPro中的类7/23/20214广州航海高等专科学校1.控
7、件类控件类用来设计用户和程序的交互,可在设计或运行时操作,构成控件的元素不能被单个访问或修改。控件类比容器类更封闭,因而没有容器类灵活。以下是一些常用的控件类型:检查框CheckBox组合框ComboBox编辑框EditBox列表框ListBox文本框TextBox命令按扭CommandButton标题Header超级链接Hyperlink图象Image标签Label线条LineOLE绑定型控件OLEBoundControlOLE容器型控件OLEContainerControl项目结构ProjectHook形状控件Sh
8、ape微条控件Spinner计时器Timer第九章 面向对象程序设计简介9.1.2VisualFoxPro中的类7/23/20215广州航海高等专科学校容器类英文表示能包含的对象命令按钮组CommandButtongroup命令按钮容器Container任意控件控件Control任意控件表单集FormSet表单、工具栏表单Form
此文档下载收益归作者所有