gpt4 book ai didi

Smalltalk型系统

转载 作者:行者123 更新时间:2023-12-03 22:27:43 25 4
gpt4 key购买 nike

我对 Smalltalk 很陌生,想了解一些事情并确认其他事情(为了看看我是否明白这个想法):

1) 在 Smalltalk 中变量是无类型的?

2) Smalltalk 中唯一的“类型检查”发生在发送消息并且继承层次结构向上爬以便将消息绑定(bind)到方法时?如果到达 Object 类,它会因为该方法不存在而引发运行时错误?

3)没有强制,因为没有类型......?

4)是否可以重载方法或运算符?

5)有某种通用性吗?我的意思是,参数多态性?

6) 发送消息时是否对参数进行某种兼容性/等效性检查?或者何时分配变量?

大多数问题的答案可能都很简短(如果我的方向正确的话)。

最佳答案

1) 变量没有声明的类型。它们都是对对象的隐式引用。对象知道它们是什么类型的。

2) 没有隐式类型检查,但您可以根据需要进行显式检查。查看方法 isMemberOf: 和 isKindOf:。

3) 正确。没有强制的概念。

4) 运算符只是消息。任何对象都可以实现任何方法,是的,它具有重载。

5) Smalltalk 是通用的终极。变量和集合可以包含任何对象。具有“泛型”的语言使变量和集合更加具体。去搞清楚。多态性基于接收者的类别。要执行多个多态性,请使用双重调度。

6) 没有隐式检查。您可以根据需要添加自己的显式检查。

关于Smalltalk型系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20714259/

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