【发布时间】:2025-11-24 02:45:01
【问题描述】:
public和private变量的概念称为visibility。
我正在寻找一个简洁的词来描述静态属性和实例属性之间的区别。 范围合适吗?
【问题讨论】:
public和private变量的概念称为visibility。
我正在寻找一个简洁的词来描述静态属性和实例属性之间的区别。 范围合适吗?
【问题讨论】:
我认为“ownership”或“relationship”更合适,而且不同语言的含义可能有所不同。
例如,在 Python 中,此类所有权分为三种类型:
在 C++ 中,实例属性/方法由实例拥有,而静态属性在逻辑上与类相关。我们只是使用类名作为附加命名空间来引用静态属性或方法。
在 php 中静态属性类似于 C++,但也有 late static binding 影响静态方法如何与继承一起工作。 所以这取决于用法 - 静态方法要么只是与类“相关”,要么由类“拥有”(当使用后期静态绑定时)。
关于“范围”这个术语——我认为它不适合,因为它用于描述编译器/解释器如何在特定上下文中找到特定名称的含义。
例如,如果您在函数中有全局变量 x 和同名的局部变量,则 作用域 定义将使用这两个变量中的哪一个。
【讨论】: