阅读关于编程的文章、手册等时,我总是遇到单词“qualified”,比如在Java中,完全限定类名将是com.example.Class。阅读这篇文章时,定义了C++中作用域解析运算符"::"的用途为合格化隐藏名称以便仍可使用它们。但每次使用该单词时,似乎都有不同的含义。是否有一个明确的定义呢?
java.lang.Math //refers to java class Math
org.myproject.Math //refers to your project Math class
来自梅里亚姆-韦伯斯特词典
QUALIFY的完整定义
及物动词 1 a :将其从一般形式转换成特定或限制形式:修改 b :使更加柔和或宽松:缓和 c :改变强度或风味 d :限制或修改(如名词的)含义 2 :通过命名属性来表征:描述 3 a :通过培训、技能或能力为特定目的进行适应 b (1) :宣布有能力或足够:认证 (2):赋予法律能力:执照
第1条和第2条款适用。Java和C++都具有作用域/命名空间,“qualify”意味着引入足够的作用域以区分潜在的候选项。
例如:如果您有两个成员名称为“read”的类。
class Foo {
void read();
};
class Bar {
void read();
};
void read() {}
void Foo::read() {}
void Bar::read() {}
void ::read() {} // note: this name is already taken by stdio's read() :)
qualify
的含义是消除歧义。虽然N的回答只涉及到Java中的fully qualified class name
,但我认为消除歧义
适用于你提供的两个例子。 - John B