gpt4 book ai didi

smalltalk - 在smalltalk中实现new with argument

转载 作者:行者123 更新时间:2023-12-02 23:46:03 25 4
gpt4 key购买 nike

我基本上想实现new,它可以接受参数e.x obj := SomeClass new: 'a'。我尝试用这种方式实现

initialize: bdata
data := bdata

但这行不通。由于缺乏知识,我似乎犯了一些愚蠢的错误。我尝试用谷歌搜索但找不到任何例子。请帮忙。

最佳答案

在 Smalltalk 中,newnew: 不是关键字,而是常规消息。它们只是由对象的类实现。要为对象的类(而不是实例)编写方法,请单击系统浏览器中的“类”按钮。在那里,您可以实现您的 new: 方法。

但是请注意,将自己的实例创建方法命名为 new: 通常不是一个好主意。由于这是常规方法,因此您可以将其命名为任何您想要的名称。例如,MyClass withBData: foo。让它成为一个很好的描述性名称。它可能看起来像

withBData: bdata
| inst |
inst := self new.
inst bdata: bdata.
^inst

关于smalltalk - 在smalltalk中实现new with argument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29001951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com