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对比 的全部内容, 来源链接: utcz.com/z/392708.html