扩展和/或参数对象作为属性

斯坦

正如我现在从Array 作为对象所了解的那样,我必须使用参数对象,因为使用非参数 Logtalk 对象意味着我必须使用断言,即任何更改/设置都会重写整个数组。

那么问题是:

  • 你如何扩展数组类..
  • 或在宿主类中将其实例化为 ATTRIBUTE

第 1 点

:- object(a2d, instantiates(array)).

:- end_object.
  • Reference to unknown object: array
    

即使它有效,你如何在内部访问它。

点2

意味着以某种方式修改术语?

保罗·莫拉

在该参数对象解决方案中,对象用于封装对数组表示起作用的谓词,对象参数用于保存表示数组本身的(复合)项。

参数对象,在这种情况下是原型,可以扩展为任何其他原型:

:- object(a2d(_Array_), extends(array(_Array_)).

:- end_object.

注意参数对象的标识符是array(_)(即复合词)。因此,array(_)array是不同对象的标识符。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章