我们在 C++ 中有const
和非const
函数重载,如此处所述,并在 STL 迭代器中使用。
我们在 Java 和 C# 中有这样的方法重载吗?
我们在 C++ 中有const
和非const
函数重载,如此处所述,并在 STL 迭代器中使用。
我们在 Java 和 C# 中有这样的方法重载吗?
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; }
}
}