区分静态和实例属性的概念的名称是什么

时间:2017-11-01 17:45:21

标签: oop naming

public private 变量的概念称为 visibility

我正在寻找一个简洁的词汇来描述静态属性实例属性之间的区别。 范围是否合适?

1 个答案:

答案 0 :(得分:1)

我认为“所有权”或“ relationship ”更适合,不同语言的含义也有所不同。

例如,在Python中有三种类型的此类所有权:

  • 实例属性/方法 - 属于到实例(或实例拥有它)
  • 类方法 - 属于类(类拥有属性或方法,这里我们可以将类本身视为更高级类的实例)< / LI>
  • 静态属性/方法 - 逻辑上与相关到类中,此处类名用作名称空间

在C ++实例中,属性/方法由实例拥有,静态属性在逻辑上与该类相关。我们只使用类名作为附加名称空间来引用静态属性或方法。

在php中,静态属性与C ++类似,但也有late static binding,它影响静态方法如何与继承一起使用。 所以这取决于用法 - 静态方法要么只是类的“相关”,要么是类的“拥有”(当使用后期静态绑定时)。 / p>

关于“范围”术语 - 我认为它不合适,因为它用于描述编译器/解释器如何在特定上下文中找到特定名称的含义。 例如,如果您在函数内部具有全局变量x且本地具有相同名称,则范围将定义将使用这两个变量中的哪一个。