- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在OOP方法中,子类.ppt
第十章;10.1 面向对象的概念
10.2 Visual FoxPro的面向对象支持
10.3 面向对象的程序设计方法;10.1.1 对象与类
在面向对象程序设计(Object Oriented Programming,简称为OOP)中,对象(Object)是组成程序的构件,就好象在面向过程的结构化程序设计方法(Structured Programming)中的子程序和函数的作用一样。在结构化程序设计方法中,程序设计人员把一个待求解的问题自顶向下进行分解,以便形成一个个相对简单独立的子问题,然后用子程序或函数来解决这些子问题,用子程序或函数之间的数据通信来模拟这些子问题间的联系,最后把这些子程序或函数装配起来以形成解决问题的完整程序。;在面向对象的程序设计方法中,程序设计人员不是完全按过程对求解问题进行分解,而是按照面向对象的观点来描述问题、分解问题,最后选择一种支持面向对象方法的程序语言来解决问题。在这种方法中,设计人员直接用一种称之为“对象”的程序构件来描述客观问题中“实体”,并用“对象”间的消息来模拟实体间的联系,用“类”来模拟这些实体间的共性。;1.对象(Object)
在OOP方法中,作为程序构件的“对象”是对现实世界中一个实体的一种模拟工具。例如如要设计一个某高校学生学籍管理软件,所涉及到的实体包括“学生”、“课程”、“专业”等等。要模拟一个活生生的学生,需要使用一组特征数据(如姓名、籍贯、性别、身高、年龄等等)和一组行为规则(如该生对待某些外部事件的反映:受到表彰会怎样反映、受到批评会怎样反映、受到屈辱会怎样反映、遇到同学的困难时会怎样反映等)来模拟其静态特征和动态特征。;OOP方法正是用一组称为“属性”的数据模拟所描述实体(如学生)的静态特征、而用一组称为“方法程序”的程序过程模拟该实体对一些“事件”(如受到学校嘉奖)的反映。把模拟一个实体的“属性”数据和“方法程序”通过一定的形式进行“封装”就建立起了一个OOP方法中的对象。
当然,如果对被管理的成千上万个学生都这样一个个完全独立地设计“程序对象”,其工作量将会大得惊人,这实际上是不可能的。OOP方法中,通过另一种称为“类??的工具对这一问题给出了一个巧妙的解决办法。;2.类(Class)
“类”是具有相同属性特征和行为规则的多个“对象”的一种统一描述。对于一个学校的全体学生,描述其特征的数据模式是相同的(当然不同“对象”的特征值会有不同)。行为规则有不同的地方,也有相同的地方。如果我们侧重于描述每个个体对一些诸如观看球赛、对待他人遇到意外事件的反映等等,不同个体间的反映可能很不相同,描述其反映的“方法程序”也许无法共享。但如果将行为的选择加以一些限制,将引起学生反映的外部事件归纳为:;(1)一个新学年度到来时,学生的整体反映应该是缴费报导。
(2)当一个学年度不及格科目超过学校规定时,这一部分学生应该留级或退学。
(3)完成规定科目的学习并考试合格者,学生的整体反映是毕业离校。
在一般管理信息系统中,系统的使用者和设计者所关心的问题正是这样一些共性问题而并非一些很个体的问题,这样设计者就可以对个体的行为进行分析、归纳、抽象,形成整个群体的共同行为规范,并把这种共同的行为规范用程序设计语言描述成程序过程,和描述该群体的特征数据模式一起进行封装,这样就完成了OOP方法中一个“类”的设计。;在OOP方法中,“类”是对现实世界的一种高度抽象与概括,而“对象”则是“类”的一个实例,“对象”一定具有其属“类”的共同特征与行为规则,当然一个“对象”还可以具有其属“类”未曾规定的特征和行为规则。这一点和现实生活是非常相同的,这样的模拟和抽象比较符合人们的思维习惯,这也正是OOP方法具有强大生命力,能够获得越来越多的软件工作者欢迎并得到众多计算机开发商支持的一个基本原因。
总之,从程序设计者的角度观察,“类”是一个数据模式和若干个程序过程(称为“方法程序”、一般一种行为用一个程序过程描述)经封装而形成的一个整体,它是使用信息技术对现实世界的一种模拟与抽象,而“对象”则是“类”的一个实例,用程序设计语言来说,“对象”可以不精确的理解为对一个“类”赋值的结果。“对象”是OOP方法中组成程序一种构件。;3.事件与响应
“事件”是由外部实体作用在“对象”上的一个动作。在现实生活中,某人出生、死亡、其电话震铃、设定的闹钟响了以及过生日又长了一岁等等都称为一个事件,人们都会对这些事件做出一定的反映:如电话震铃就要接听电话、设定的闹钟响了可能就要去干一件什么事情,而过生日后可能要入学了等等。在OOP方法中,作用在“对象”上的事件包括对象的创立、释放、收到其他对象发来的“消息”等,对于一些可视对象,如命令按钮等,其最常见的“事件”往往是一些鼠标动作,如“单击
文档评论(0)