C#和JAVA GET,SET对比

使用GET,SET方法的好处:

隐藏内部成员,但又想外部能够以某

种正确的方式来访问和修改内部成员的属性,

因此通过构造GET,SET访问器来控制访问成员,确保数据的一致,完整和正确性。

下面分析JAVA和C#写法

JAVA写法:通过定义GET,SET方法来访问内部属性,达到控制访问的目的。

命名规范:所有成员变量,最好以小写字母开头。GET,SET访问器(方法)的对应属性值则以大写字母开头。

public class Dog { private int age; private String name; public int getAge()

{ this.age;

} // SET方法 public void setAge(int age) { // 这世界有超过30岁的狗吗? if (age <= 30) { this.age = age;

}

} public String getName() { // 后缀标识这是一只狗 return this.name + "(Dog)";

} public void setName(String name) { this.name = name;

} public static void main(String[] args) {

Dog dog = new Dog(); // 输入错误的年龄 dog.setAge(40);

dog.setName("honey");

System.out.println(dog.getName() + ",年龄:" + dog.getAge()); // 输入正确的信息 dog.setAge(4);

dog.setName("baby");

System.out.println(dog.getName() + ",年龄:" + dog.getAge());

}

}

C#写法

C#单独定义了GET,SET访问器的书写方法,通过暴露的成员“属性”,来达到控制访问。

命名规范:成员变量,以下划线作为前缀,可省去this,避免覆盖,对于属性则以大写字母开头。

public class Dog

{ private int _age; private String _name; public int Age

{ get { return _age;

} set { if (value <= 30)

{

_age = value;

}

}

} public String Name

{ get { return _name + "(Dog)";

} set {

_name = value;

}

} static void Main(String[] args)

{

Dog dog = new Dog(); //输入错误的年龄 dog.Age = 40;

dog.Name = "honey";

Console.WriteLine(dog.Name + ",年龄:" + dog.Age + "\n"); //输入正确的信息 dog.Age = 4;

dog.Name = "baby";

Console.WriteLine(dog.Name + ",年龄:" + dog.Age + "\n");

Console.ReadLine();

}

}

C#的写法:相比JAVA,更加简洁明了,通过暴露属性方法,而不是通过调用方法的方式来访问内部属性,不仅更加直观,通过也简化了繁琐的代码书写。

C#和JAVA GET,SET对比

猜你喜欢

转载自q16964777.iteye.com/blog/2253879