gpt4 book ai didi

smalltalk - "Metaclass class"真的只是元类吗?

转载 作者:行者123 更新时间:2023-12-01 07:50:12 28 4
gpt4 key购买 nike

我遇到了以下陈述:

(Metaclass class) new. "Uses the new of Behavior but throws error because Metaclass class is singleton"
Metaclass new. "Uses the new of Behavior"

我以为 Metaclass classMetaclass那为什么答案不同呢?
我似乎无法弄清楚方法查找是如何工作的。我需要遵循哪个层次结构树?我在哪里可以找到具有基本类的几乎完整的树?

最佳答案

类/元类关系是 Smalltalk 中最复杂的主题之一,但它是所有事物以一致方式组合在一起的优雅的一部分。

方法查找从对象的类(类描述对象)持有的 MethodDictionary 开始,并沿继承链向上进行。

通常,您不应该创建 Metaclass 的新实例,而应该让 IDE/工具为您创建它,作为创建新类的副作用(将 #'subclass:...' 发送到现有的父类(super class))。

您可以在 Smalltalk 镜像中找到基本类树。细节取决于方言,Squeak 应该有一个“类层次浏览器”,可以让你查看事物。

以下是帮助我形象化关系的图片。

Smalltalk Class Hierarchy

关于smalltalk - "Metaclass class"真的只是元类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57898036/

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