对称封装多方法
摘要:对于对象系统,类起到模块的作用,接口由方法组成。因为方法封装在对象中,所以对象系统中的接口不允许在方法的实现位置上进行抽象。这意味着对实现结构的任何改变都可能引起连锁效应。有时,这不必要地限制了软件演化的范围,特别是对于具有多个参数且没有明确所有者的方法。我们提出了一个简单的方案,使得对称方法可以在任何参数的类中定义。这允许客户端代码不必关心包含方法实现的类,从而使其免受其变化的影响。当与多重动态分派结合时,该方案允许对模块进行扩展,其中在一个类中定义的方法被在不是其子类型的类中所覆盖。在本文中,我们通过将具有这些对称封装多方法的核心计算扩展为基于类的语言,说明了这个方案,并证明了结果的正确性。
作者:David Lievens and Bill Harrison
论文ID:1110.3470
分类:Programming Languages
分类简称:cs.PL
提交时间:2011-10-18