[英]Eiffel: a way to call precursor redefined feature on another function
我正在寻找一种在其他功能上调用Precursor
的方法。 上下文是,我重新定义了一个例程,该例程调用另一个继承人的功能,该功能调用了我的继承人,并且我想显式地调用它。 有没有办法做类似java Precursor.feature_a
事情。
如果不是 ,我发现的唯一替代方法是编写一个feature_a_implementation
并从重新定义的功能中调用它。 是否有特定原因不采用这种机制? 这样做的后果是将feature_a
的合同定义为feature_a
和feature_a_implementation
两倍
功能复制可用于以下目的:
class A feature
f do print ("A") end
end
class B inherit
A redefine f select f end
A rename f as g end
feature
f do print ("B") end
h do g end
end
类A
功能f
在类B
出现两次:在名称f
(重新定义和选择的版本)下,在名称g
(原始版本)下。 功能h
呼叫g
并按预期打印A
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.