《2022年谈面向对象程序设计中对象的层次问题终稿 .pdf》由会员分享,可在线阅读,更多相关《2022年谈面向对象程序设计中对象的层次问题终稿 .pdf(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、读 与 写 杂 志Read and Write Periodical第6卷 第2期2009年2月February2009Vol. 6 No.21引言Visual FoxPro在支持传统的结构化程序设计的同时,扩展了面向对象程序设计(Object-Oriented Programming) 的新特点。现在的编程人员不再是单纯考虑从代码的第一行到最后一行的程序编写 , 而是由建立对象(Object) 提供给用户所有的功能。在面向对象程序设计中, 一切操作都是针对对象的, 而对象的来源就是它所属的类。 面向对象程序设计主要是代码包装的方式、 代码可重用性及程序易维护性。其中主要的包装叫类(Class
2、)。 类的 层 次 结 构 和 容 器 (Container) 的 层 次 结 构 是Visual FoxPro中两个独立的范畴。Visual FoxPro的类层次结构是逐层向上查找的, 而对象的引用在容器中则是逐层向下查找的。 因此 , 对于程序设计中的对象引用, 必须指明相应的层次关系, 否则 , 可能无法找到指定的对象。2对象引用的方式2.1绝对引用面向对象程序设计中, 若要处理一个对象, 就需知道它相对于容器的层次关系,在容器层次中的对象就好比一封信件的投递地址 , 可以用绝对路径来指示如何查找对象所在的位置。 当我们处理投递的信件时, 通常这样来指示投递人员的投递位置, 形如: 中国
3、.四川省.自贡市.自井区.同兴路.XX街道.XX号.XX门牌号投递人员通常是按照地理位置从上到下去寻找投递对象的位置 。在Visual FoxPro中也是这样的, 如图1所 示 , 这 个 图 中 描述了一种可能的各个对象的层次关系。如需将 “ 控件 ” 对象的颜色设置为“ 黑色 ”, 则在程序中可采用绝对引用:表单集.表单.页框.页.表格.列.控件.backcolor=RGB(0,0,0)这就显示了一个对象在容器中的绝对位置, 程序在执行时,就会按照我们指定的层次关系从上往下查找指定的对象。2.2相对引用在容器中引用对象时, 我们可以采用快捷方式来指明所要处理的对象的位置。表1列出了这些快捷
4、方式所指的对象层次关系 。表1对象层次关系的快捷引用方式快捷关键字引用关系Parent该对象的直接容器对象THIS该对象THISFORM包含该对象的表单THISFORMSET包含该对象的表单集这些关键字所代表的快捷引用方式只能在程序中使用, 用代表组件对象或者创建的类实例对象。例如 , 利用自定义的类Oblong去计算一个长方体的面积, 当我们为按钮“ 开始计算 ” 添加代码时 , 就利用了快捷的相对引用方式:THISFORM.Oblong1.NLength=VAL(THISFORM.Text1.Text)THISFORM.Oblong1.NWIdth=VAL(THISFORM.Text2.T
5、ext)THISFORM.Oblong1.NHeight=VAL(THISFORM.Text3.Text)THISFORM.Label4.Caption=” 长方体的面积为:”;+ALLTRIM(STR(THISFORM.OBLONG1.GET_SIZE()因为添加的Oblong1对象是存在于FORM1表当中的 , 那么THISFORM就代表该对象的直接容器对象FORM1, 因此 , 要设置此对象的属性, 就必须指定该对象的层次关系, 又如 :THISFORM.Oblong1.NLength=VAL(THISFORM.Text1.Text)。3设置对象的属性(Property)这里所说的设置对
6、象的属性指的是在程序中动态地设置属性。 前面我们讲了对象引用的层次关系, 那么在设置对象的属性时 , 也需用到对象的层次关系, 因为只有定位到具体的对象,才能对对象进行操作。3.1对象的单个属性的设置方法如果一次仅设置一个对象的一个属性值, 则可采用如下方法:容器.对象.属性=属性值例如 , 若需将表单集中的form1表单中的标签Label1的标题设置为 “Hello,World!”,则可这样来设置:Thisformset1.form1.label1.Caption=”Hello,World!”在这段程序代码中,Thisformset1是最高层次的容器, 而form1是标签对象Label1的容
7、器 , 而Caption属性是Label1对象的属性 , 因此 , 首先需要自上而下地指明对象的层次关系, 然后再对对象进行操作。3.2对象的多个属性的设置方法我们也可以在程序中一次性地对对象的多个属性进行设置, 这可利用下列语句来实现:WITH .对象属性=属性值谈面向对象程序设计中对象的层次问题杨小明( 四川省盐业学校计算机教育中心四川自贡643010)摘要 : 面向对象程序设计中的对象引用, 必须指明相应的层次关系, 就Visual Foxpro中对象的层次结构及其引用方式以及对象属性的设置、 对象的调用方法作了分析论述, 这对程序中代码段的正确书写与执行均有着十分重要的作用。关键词 :
8、 对象对象层次属性设置调用方法中 图 分 类 号 :G718.3文献 标 识 码: C文 章 编 号 :1672-1578(2009)2-0154-02154-名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 3 页 - - - - - - - - - 读 与 写 杂 志Read and Write Periodical第6卷 第2期2009年2月February2009Vol. 6 No.2ENDWITH例如 , 若要将表单集中的form1表单中的标签Label1的标题设
9、为 “Hello,World!”,背景颜色设为黑色, 宽度设为50, 高度设为20, 并且是可见的, 则可这样来设置:WITH Thisformset1.form1.label1.CAPTION=”Hello,World!”.BACKCOLOR=RGB(0,0,0).WIDTH=50.HEIGHT=20.VISIBLE=.T.ENDWITH4调用对象的方法(Method)如果在程序中已经创建了对象, 那么就可以在任何地方调用该对象的公共方法来执行相应的任务。 调用方法同样需要指定对象的层次关系, 使用的方式同属性一样, 只不过这里换成了方法 , 其方式如下:容器对象.对象.方法名称()需要说明
10、的是,如果对象方法不需要传递参数, 就必须添加上“()”,否则系统会当做对象的属性来处理。例如 , 我们需将焦点设置在表单FORM1中的文本框对象TEXT1上 , 即可使用下列方法:FORM1.TEXT1.SETFOCUS()这段代码中,FORM1是TEXT1对象的直接容器, 而SETFOCUS()方法是TEXT1对象的 。我们也可在程序中调用自定义的方法, 例如 , 我们在表单FORM1中添加一个自定义的方法:PROCEDURE GETNEWCAPTION(DT AS DATETIME)IF HOUR(DT)=0 AND HOUR(DT)=6 AND HOUR(DT)=12 AND HOUR
11、(DT)=18 AND HOUR(DT)24RETURN” 晚上好!”ENDIFENDPROC那么 , 我们就可以在设置窗体对象的标题时调用我们自定义的函数 , 例如 :FORM1.CAPTION=THIS.GETNEWCAPTION(DATE()这里同样需要指定该函数的层次关系, 以标明该函数是定义在哪一个对象中的。5结语在Visual Foxpro中 , 表单 、 表单集和控件是包含在应用程序中的对象, 对象的引用层次问题, 可以通过对象的属性、 事件和方法来处理。每个对象都可以对一个被称为事件的动作进行识别和响应。在处理一个对象时, 需要知道它相对于容器层次的关系 , 这对对象的正确引用
12、是十分必要的。 本文对于那些学习面向对象程序设计的用户来说, 为其提高对层次问题的理解和应用提供了一些借鉴。参考文献 :1张涌逸 , 康祥顺 Visual Foxpro8.0设计师之路M 北京 : 电子工业出版社,20062刘甫迎 Visual Foxpro实用教程M 成都 : 电子科技大学出版社,20033微软中国有限公司 Visual Foxpro6.0程序员指南Z 北京 : 北京希望电脑公司,1998作者简介 : 杨小明 (1969-),男 , 四川省盐业学校计算机教育中心讲师 。(上接108页)定的课本与教师为主, 而开始直接面对现实问题, 直接寻找、 检索并收集与学习目标相关的信息和
13、资源。 课堂教学中的学生不是被动接受教育, 而是教学活动的主体, 教师应引导学生通过互联网 、 报刊 、 文献 、 电视传媒, 收集 、 整理运用资料, 促进学生在教师指导下主动地、 富有个性地学习, 注意培养学生的主体意识和参与意识 , 培养学生收集和处理信息的能力, 分析和解决问题的能力以及交流合作的能力。4突破应试框架, 实行 “ 双开 ” 考试为了突出创新精神和时代精神, 以适应形势发展的需要, 加强思想政治课教学的针对性、 实效性和主动性, 教育部于2000年3月发出政治科中考改革指导意见后, 全国许多省市的中考纷纷进行重大的改革, 在中考中纷纷实行开卷或半开卷的形式。这无疑是思想政
14、治课的一次大解放。 在闭卷考试的形式下, 考试考条条 , 学生背条条。为了达到考核和选拔的要求, 学生只能硬着头皮把课文中远离学生实际的“ 繁、 难 、 偏 、 旧” 的概念和原理记下来 、 背下来 。 应试模式的教育实际就是“ 答 ” 题水平高低的教育。 评分的 “ 采点 ” 性, 使创新的、 独特的 、 与众不同的观点由于与标准答案不符就不会得到好的分数而受到了冷落。当今的中学生思想比较活跃, 思维敏捷, 求知欲强, 他们以自己的眼光观察社会, 了解社会关心社会。 而我们以前的考核、评分方法远远脱离他们的兴趣、 特点和真实水平。 不可能为学生提供更多的思维天地, 平时学生流露出活跃的独创思
15、维也往往受阻或被压抑。 而目前施行“ 双开考试” 却不同 , 开放性试题的答题可以不拘一格, 没有固定、 僵化的标准答案, 贵在言之有理。 比如, 学生对某一个问题论述时, 在利用课本所涉及的知识点进行阐述分析的基础上, 还可以充分发挥自己想象的空间。 特别对学生在开放性试卷考核中有独创性见解还予以加分的奖励制度,这大大地激发了学生的创新思维能力。 特别是实行开卷考试, 由于注重对学生能力的考核,试题大多在教材中找不到现成的答案, 而要求学生在掌握基础知识的前提下,具备较强的审题能力、 理解能力 、 分析能力、 综合运用能力、 书面表达能力和创新思维能力等 。 这就迫使学生改变过去的不良学习方
16、法和习惯, 更注重知识之间的内在联系, 以及对知识的理解和运用, 促使他们平时关心身边的小事和国内外大事, 收集与教材有关的资料, 扩大视野 。没有现成答案的束缚, 更有利于培养学生的创新能力。为学生改变旧知识, 探索新知识; 改造旧事物, 创造新事物, 提供了机会和领域。马克思曾经说过:“ 创新思想就像一颗种子,它是人的生命迸发出的最鲜活的、 最灵性的火花, 教师的职责不仅仅是传播知识的种子 , 而是在于启迪唤醒学生的创造精神, 使得这颗种子发芽、 成长 。” 因此 , 政治课教学只有善于“ 变中求进 ”,才能为学生更好地播种培养这颗“ 创造种子”,取得更高 、 更优的教学效益。155-名师
17、资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 3 页 - - - - - - - - - 读 与 写 杂 志Read and Write Periodical第6卷 第2期2009年2月February2009Vol. 6 No.2, :;Applyingthe Assessment Modelof InterpretingQualityto Conference Translation fromthePerspective of InterpretiveTheoryCas
18、e Studyof Interpretation forGovernment Press Conferences, , , ,(,): ; , , :;The Study of Validityon Credit QualityTrainingof Contemporary College Students, ,(,): , , , :; ;AStudy of Deviationfrom Pragmatic Principles inChinese Crosstalk Based on Guo DegangsCross-talk, , ; , ,(,): , , :;On Object Hie
19、rarchyin Object-OrientedProgramming, ,(,): , , :; ;Analyzethe Characteristic of Task-based LanguageTeaching in , ,(,):, , , :, :;:, ;AReview of Studies on Foreign Language WritingApprehension, , ,(,): , , :;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 3 页 - - - - - - - - -