C#
vs Java
中有关封装和访问者的快速问题。
C#
中的代码是否等同于下面的Java中的代码?
C#:
class MyClass{
public string var1 {get; private set;}
public int var2 {get; private set;}
public MyClass(string aString, int anInt){
this.var1= aString;
this.var2=anInt;
}
}
的java
//Java
class MyClass{
private String var1;
private int var2;
public MyClass(String aString, int anInt){
this.var1= aString;
this.var2=anInt;
}
public String getVar1(){
return this.var1;
}
public void setVar1(int anInt){
this.var1 = anInt;
}
public int getVar2(){
return this.var2;
}
public void setVar2(String aString){
this.var2 = aString;
}
}
我来自java
世界,不确定C#
中的访问者缩短。
答案 0 :(得分:3)
不,在C#代码中,您已经拥有了私人制定者 - 在您的Java代码中,他们已经公开了。
与Java代码等效的C#将是:
public string Var1 { get; set; }
public int Var2 { get; set; }
(我已将名称更改为遵循.NET命名约定 - 属性为PascalCased。)
答案 1 :(得分:0)
为了说实话,你可能不应该有公共场地。
拥有公共mutator有什么好处?我很少见到有公共改变者的理由。