【发布时间】:2012-07-26 06:41:39
【问题描述】:
我们在 C++ 中有 const 和非 const 函数重载,如 here 所述,并在 STL 迭代器中使用。
我们在 Java 和 C# 中有这样的方法重载吗?
【问题讨论】:
-
嘿,你得到了
Jon Skeet答案:)
标签: c# java constants overloading
我们在 C++ 中有 const 和非 const 函数重载,如 here 所述,并在 STL 迭代器中使用。
我们在 Java 和 C# 中有这样的方法重载吗?
【问题讨论】:
Jon Skeet 答案:)
标签: c# java constants overloading
Java 和 C# 没有 const 函数的概念,因此 const/non-const 重载的概念并不适用。
【讨论】:
遗憾的是,C# 不支持 const 方法或 const 参数。 C# 2.0 中有一个新特性在类似的场景中有所帮助。在 C#2.0 中,属性的 get 和 set 访问器可以具有不同的可访问性。因此,您可以将 get 访问器设为 public,并将 set 保护如下
class MyClass
{
int _val;
public int Val
{
protected set { _val = value; }
get { return _val; }
}
}
【讨论】:
public int Val { get; protected set; }