0

我正在制作一家诊所,我需要制作一个可以同时存储两种药物的物品。交互对象意味着 MEDICATION_1 正在与 MEDICATION_2 交互

但是以下代码不正确,因为它不符合泛型参数

错误:VICG:实际的泛型参数不符合约束。

代码:

interaction: HASH_TABLE[MEDICATION, MEDICATION] 
4

1 回答 1

1

HASH_TABLE允许将一种类型的对象与另一种(或相同)类型的对象相关联。第一个参数HASH_TABLE是一个值,第二个是一个键。因此,对于同一个键,最多可以保留一个值。如果这符合您的需要,键的类型必须是HASHABLE. 此类型定义了一个hash_code计算对象整数值的函数。所有基本类型 和STRINGare HASHABLE,因此您可以依靠现有的实现来计算hash_code对象MEDICATION。例如,如果一种药物有一个唯一的名称,那么定义如下是有意义的:

class MEDICATION inherit HASHABLE ... feature ...
   name: STRING
   ...
   hash_code: INTEGER
      do
         Result := name.hash_code
      end
end
于 2016-02-26T06:02:30.967 回答