繁体   English   中英

Eiffel:一种在另一个函数上调用前体重新定义的功能的方法

[英]Eiffel: a way to call precursor redefined feature on another function

我正在寻找一种在其他功能上调用Precursor的方法。 上下文是,我重新定义了一个例程,该例程调用另一个继承人的功能,该功能调用了我的继承人,并且我想显式地调用它。 有没有办法做类似java Precursor.feature_a事情。

如果不是 ,我发现的唯一替代方法是编写一个feature_a_implementation并从重新定义的功能中调用它。 是否有特定原因不采用这种机制? 这样做的后果是将feature_a的合同定义为feature_afeature_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM