欢迎来到天天文库
浏览记录
ID:39425515
大小:551.31 KB
页数:60页
时间:2019-07-03
《面向对象程序基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十章面向对象程序设计基础1VisualFoxPro10.1面向对象的概念10.2VisualFoxPro的面向对象支持10.3面向对象的程序设计方法2VisualFoxPro10.1.1对象与类在面向对象程序设计(ObjectOrientedProgramming,简称为OOP)中,对象(Object)是组成程序的构件,就好象在面向过程的结构化程序设计方法(StructuredProgramming)中的子程序和函数的作用一样。在结构化程序设计方法中,程序设计人员把一个待求解的问题自顶向下进行分解,以便形成一个个相对
2、简单独立的子问题,然后用子程序或函数来解决这些子问题,用子程序或函数之间的数据通信来模拟这些子问题间的联系,最后把这些子程序或函数装配起来以形成解决问题的完整程序。10.1面向对象的概念3VisualFoxPro在面向对象的程序设计方法中,程序设计人员不是完全按过程对求解问题进行分解,而是按照面向对象的观点来描述问题、分解问题,最后选择一种支持面向对象方法的程序语言来解决问题。在这种方法中,设计人员直接用一种称之为“对象”的程序构件来描述客观问题中“实体”,并用“对象”间的消息来模拟实体间的联系,用“类”来模拟这些实体
3、间的共性。4VisualFoxPro1.对象(Object)在OOP方法中,作为程序构件的“对象”是对现实世界中一个实体的一种模拟工具。例如如要设计一个某高校学生学籍管理软件,所涉及到的实体包括“学生”、“课程”、“专业”等等。要模拟一个活生生的学生,需要使用一组特征数据(如姓名、籍贯、性别、身高、年龄等等)和一组行为规则(如该生对待某些外部事件的反映:受到表彰会怎样反映、受到批评会怎样反映、受到屈辱会怎样反映、遇到同学的困难时会怎样反映等)来模拟其静态特征和动态特征。5VisualFoxProOOP方法正是用一组称为
4、“属性”的数据模拟所描述实体(如学生)的静态特征、而用一组称为“方法程序”的程序过程模拟该实体对一些“事件”(如受到学校嘉奖)的反映。把模拟一个实体的“属性”数据和“方法程序”通过一定的形式进行“封装”就建立起了一个OOP方法中的对象。当然,如果对被管理的成千上万个学生都这样一个个完全独立地设计“程序对象”,其工作量将会大得惊人,这实际上是不可能的。OOP方法中,通过另一种称为“类”的工具对这一问题给出了一个巧妙的解决办法。6VisualFoxPro2.类(Class)“类”是具有相同属性特征和行为规则的多个“对象”的
5、一种统一描述。对于一个学校的全体学生,描述其特征的数据模式是相同的(当然不同“对象”的特征值会有不同)。行为规则有不同的地方,也有相同的地方。如果我们侧重于描述每个个体对一些诸如观看球赛、对待他人遇到意外事件的反映等等,不同个体间的反映可能很不相同,描述其反映的“方法程序”也许无法共享。但如果将行为的选择加以一些限制,将引起学生反映的外部事件归纳为:7VisualFoxPro(1)一个新学年度到来时,学生的整体反映应该是缴费报导。(2)当一个学年度不及格科目超过学校规定时,这一部分学生应该留级或退学。(3)完成规定科
6、目的学习并考试合格者,学生的整体反映是毕业离校。在一般管理信息系统中,系统的使用者和设计者所关心的问题正是这样一些共性问题而并非一些很个体的问题,这样设计者就可以对个体的行为进行分析、归纳、抽象,形成整个群体的共同行为规范,并把这种共同的行为规范用程序设计语言描述成程序过程,和描述该群体的特征数据模式一起进行封装,这样就完成了OOP方法中一个“类”的设计。8VisualFoxPro在OOP方法中,“类”是对现实世界的一种高度抽象与概括,而“对象”则是“类”的一个实例,“对象”一定具有其属“类”的共同特征与行为规则,当然
7、一个“对象”还可以具有其属“类”未曾规定的特征和行为规则。这一点和现实生活是非常相同的,这样的模拟和抽象比较符合人们的思维习惯,这也正是OOP方法具有强大生命力,能够获得越来越多的软件工作者欢迎并得到众多计算机开发商支持的一个基本原因。总之,从程序设计者的角度观察,“类”是一个数据模式和若干个程序过程(称为“方法程序”、一般一种行为用一个程序过程描述)经封装而形成的一个整体,它是使用信息技术对现实世界的一种模拟与抽象,而“对象”则是“类”的一个实例,用程序设计语言来说,“对象”可以不精确的理解为对一个“类”赋值的结果。
8、“对象”是OOP方法中组成程序一种构件。9VisualFoxPro3.事件与响应“事件”是由外部实体作用在“对象”上的一个动作。在现实生活中,某人出生、死亡、其电话震铃、设定的闹钟响了以及过生日又长了一岁等等都称为一个事件,人们都会对这些事件做出一定的反映:如电话震铃就要接听电话、设定的闹钟响了可能就要去干一件什
此文档下载收益归作者所有