繁体   English   中英

埃菲尔:扩展类型符合ANY吗?

[英]Eiffel: Do expanded types conform to ANY?

  1. 假设foo: ANY是可分配的实体。
  2. 当我执行foo := create {BOOLEAN}时会发生什么?

它将总是失败,因为BOOLEAN (扩展类型)不符合ANY (引用类型),对吗?

扩展类型符合参考类型(前提是满足其他符合性要求)。 因此,您提到的示例很好用。 而且,可以写foo := True

重新附加之后的主要区别在于保留了扩展类型的复制语义,即,如果存在类型为ANY的实体bar ,则赋值bar := foo会将布尔对象的副本附加到bar ,而不是相同的引用。 因此,如果此后附加到foo的对象的值发生更改, bar保持不变。

回答您的原始问题, BOOLEAN符合ANY

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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