gpt4 book ai didi

smalltalk - Smalltalk 中的变量类型

转载 作者:行者123 更新时间:2023-12-02 22:39:28 25 4
gpt4 key购买 nike

我需要帮助理解 Smalltalk 中变量的用法和差异。下面给定代码中每个变量的区别和用法是什么?

Object subclass: #MyClass
instanceVariableNames: 'x'
classVariableNames: 'Yy'
poolDictionaries: ''
category: 'helpMe'

MyClass class
instanceVariableNames: 'zzz'

最佳答案

实例变量 (x) 是实例的本地变量。该类或任何其他实例都无法访问该变量。

类变量 (Yy) 是类、其所有实例、所有子类和所有子实例(即整个层次结构)的本地变量。任何子类或子实例都可以看到该变量的值。

类实例变量 (zzz) 是类的本地变量。只有定义变量的类才能访问它,实例和子类都看不到该变量(尽 pipe 类继承了变量的声明,但它们的变量将具有不同的值)。类也是 Smalltalk 中的对象。因此,您可以像考虑实例变量一样来考虑类实例变量:没有其他实例(类的实例)可以看到该值。感谢@Amos M. Carpenter 指出了这一点。

关于smalltalk - Smalltalk 中的变量类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30967183/

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