java与.net比较学习系列(7) 属性

时间:2022-12-04 16:48:18

文章摘自:http://www.cnblogs.com/mcgrady/p/3411405.html

说起属性,实际上java中没有属性这个概念,只有字段和方法,但是可以通过私有字段和声明get,set方法来实现类似于C#中属性的效果。

在C#中,声明属性有两种方式,一种是声明访问器,另外一种是利用C# 3.0新增的自动属性。

下面利用代码来说明:

java中声明”属性”:

java与.net比较学习系列(7) 属性
package property;

/**
* java中的属性
* @author mcgrady
*
*/
public class Employee {
//声明两个私有字段
private String name; private int age; //分别实现set和get方法
public void setName(String name)
{
this.name= name;
} public String getName()
{
return this.name;
} public void setAge(int age)
{
this.age= age;
} public int getAge()
{
return this.age;
}
}
java与.net比较学习系列(7) 属性

C#中声明属性:

方式一:声明访问器

java与.net比较学习系列(7) 属性
public class Employee
{
private string name; private int age; //方法一:声明访问器
public string Name
{
set { this.name = value; }
get { return this.name; }
} public int Age
{
set { this.age = value; }
get { return this.age; }
}
}
java与.net比较学习系列(7) 属性

方式二:自动属性

java与.net比较学习系列(7) 属性
public class Employee
{
//方法二:自动属性
public string Name { get; set; } public int Age { get; set; }
}
java与.net比较学习系列(7) 属性