需要帮助多态性

时间:2014-02-17 17:53:15

标签: inheritance polymorphism eiffel

让我举一个关于我需要帮助的例子:

主要课程:

cnd:Currency 
usd:Currency 
cc:Combined_Currency 
usd := cc.usd
cnd := cc.cnd

因此,班级Combined_Currency有一个班级Currency。 Currency类具有示例exchange_rate的属性。我相信Combined_Currency类会有类似的东西:

cnd:Currency 
usd:Currency 

我的问题是如何实施exchange_rate部分?我认为exchange_rate是一个常量,所以我不需要设置任何东西。 我需要它来检查:cad.exchange_rate = 1.5

我在哪个类中将exchange_rate设置为相应的货币? 并且有人可以让我知道cad := cc.cad的含义。

1 个答案:

答案 0 :(得分:0)

以下是我要做的事情:首先,我将类Currency设置为延迟和创建子类来表示每种货币(cad,usd等)。我会将exchange_rate放在Currency类中。当然,如果您认为自己将处理大量货币,则可以使用非延期货币类并使用创建者初始化属性。之后,我会选择基础货币(例如usd)。在该货币中,currency_rate将始终为1,并且每隔其他货币的currency_rate值将相对于基数。

“cad:= cc.cad”用于获取abject属性(cc.cad)的本地引用(cad)。