Java语言的类和多态性的公理语义

被引量 : 0次 | 上传用户:a60414010299
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
本文以Java语言为背景,重点讨论了类的继承和多态性的公理语义,同时也给出了必要的及相关的语言成分的公理语义。主要工作包括:(1) 给出了类的公理语义,包括类的声明、类的静态方法、构造函数的公理语义以及类的数据成员访问表达式的公理语义。(2) 给出了与对象相关的公理语义,包括对象的创建,实例方法调用的公理语义。(3) 数组也是对象,我们给出了与数组相关的公理语义,包括数组实例创建表达式和数组访问表达式的公理语义。(4) 因为类的继承和多态性是面向对象程序设计语言的一种机制,而非一种语言成分,故以不同于上述三类语言成分的方式描述它们的公理语义。随着程序设计的研究与发展,程序的正确性、可靠性、可维护性等问题受到人们的普遍关注。许多程序规范与验证的形式化方法涌现出来,对程序设计方法学的发展起了积极的推动作用。但是尽管面向对象的方法在今天的软件开发中得到广泛应用并取得显著的成就,这个领域的形式化正确证明方法仍然是-个难以解决的问题。在正确性证明中最广泛应用的方法是Hoare方法,它利用推导公式来描述程序或程序片断的输入/输出关系。对象不变式描述了面向对象数据结构中元素间的关系,在对象创建后以及方法引用前后它总为真。对象不变式在面向对象程序的证明中具有重要作用。利用对象不变式,类不变式,静态数据成员的状态和实例数据成员的状态,并结合Hoare公理系统,我们明确给出了类的公理语义。多态性是面向对象程序设计的-个重要特点,也是难点,在使用时最容易发生错误和误解。在用公理语义描述多态性的时候,由于我们使用的描述方法是静态的,而被描述对象是动态的,所以在描述多态性的时候需要做大量工作。本文通过引入新的谓词和函数确定了用公理语义描述多态性的前置条件和后置条件,从而描述了多态性的公理语义。利用我们给出的公理语义可以用于编译、解释Java程序的生成;验证用Java语言编写的程序的正确性。
其他文献
目的 探讨维拉帕米联合卡托普利对家兔心肌缺血再灌注损伤(MIRI)的保护作用。方法 选取健康家兔24只,随机分为6组,假手术组、对照组、缺血再灌注组、卡托普利组、维拉帕米组
<正>以刻意练习(DP)和一万小时定律为主题的流行书籍,引用了一些严肃的研究,一方面再次确认了相关常识,普及了最新的科研进展,另一方面也给大众带来了一些理解偏差。学术概念
期刊
<正>美国数学家哈尔莫斯P.R.Halmos认为"问题是教学的心脏".笔者认为教师应创设一种情境,激发学生的学习积极性,引领学生探究,引导学生回归基础,注重通性通法,分析问题的本质
软土地基是水利工程建设的关键内容。在施工中为了有效地提升水利工程的施工质量,就要分析水利工程中软土地基处理的价值与意义,通过科学的方式进行软土地基的勘探分析,采取
先秦时代,百家争鸣,群星荟萃,照耀千秋,为中国社会、文化巍巍千年的发展定下了基调,尤其是儒法两家,在客观上为中国封建君主专制制度准备了思想基础与制度设计,造成中国封建
Excel表格在会计中尤其是中小企业成本核算中应用极其广泛。现将利用Excel模板进行成本核算的作用及注意事项,简要分析如下。1.采用Excel表格进行成本核算和控制的背景一是企
《中华人民共和国标准化法》修订发布,明确了团体标准的法律地位。而团体标准最大应用是弥补行政渠道制修订的国、行、地标国际化的不足和短板,而这其中的路径、方法、内容和
依据景观生态学的理论和研究方法,运用遥感和地理信息系统技术,在草地资源分类的基础上,对昭苏县草地资源景观格局的斑块水平指数、斑块类型水平指数以及景观水平指数进行数
妇女解放在人类历史发展过程中是一个永恒的话题。在历史唯物主义和辩证唯物主义的基础上,马克思对妇女问题的本质和规律进行了研究。马克思认为私有制的产生和阶级的出现是