C#和JAVA GET,SET对比

java

使用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

回到顶部