属性可以替代类当中的字段访问方法和修改方法,利用属性能够方便的实现对类当中私有字段的操作,get和set访问器对类的数据进行操作处理
只有get:只读属性
只有set:只写属性
两者都有:读写属性
在圆类Circle当中使用属性
class Circle{
private double radius;
public double Radius{
get{return radius;}
set{
radis=value;}}
属性不同于方法,属性声明只有名称,没有括号,没有参数,
字段名radius
属性名 Radius
eg:计算员工收入
public class Employee{
private string m_EmpID="";
private string m_EmpName="";
private deciaml m_BaseSalary=0.0m;
private decimal m_Bonus=0.0m;
public Employee(){
m_EmpID="10001";
m_EmpName="zhangsan";
}
public string EmpID{
get{
return m_EmiP;}
set{
m_EmpID=value;}}
public string EmpName={
get{return m_EmpName;
}
set{
m_EmpName=value;
}
}
public Decimal BaseSlary{
get{
rturn m_BaseSalary;}
set{
m_BaseSalary=value;
}}
public string EmpName{
get{
retur m_EmpName;}
set{
m_EmpName=value;}}
public DeciamlSalary()}{
return m_BaseSalary+m_Bonus;}
public Deical Tax(){
if(Salary()>800){
return (Salary()-8000.0m)*0.14m;
else
return 0.0m;
}
public Deciaml Income(){
return salary()-Tax();
}
static voiid main(String[]args){
e.EmpID="10001";
e.EmpName="zhangsna";
e.Bonus=12000.0m;
自动属性
public 类型 属性名{
get;
set;
}
类当中可以省略属性对应的私有字段的声明,该字段将由编辑器自动添加,必须同时包含get;set;
private string id;
pirvate string name;
pubcli string Id{
get {retur id;}
set{id=value;}
}
静态字段:
用static声明的字段,没有static声明的字段是实例字段
仅分配一块内存,各个实例都可以共享该静态字段
实际编程当中,而可以将同类对象公用的数据声明为类的静态字段
eg:统计网站访问的人数
class register{
static int count=0;
public staring Name{get;set;}
public string Emal{get;set;}
public string Tel{get;set;}
public register(stringnm,string tel,string te)//构造方法
{
Name=nm;
Emal=tel;
Tel=te;
count++;
COnsoel.WriteLine("用户:{0},{1},{2}",Name,Emal,Tel)
COnsoe.WriteLine("zhucechenggong!");
}static public void show(){
Console.WriteLine("当前注册人数:{0}",count);
}}
class Progra,{
static void Mian(String[]args){\
register s1-new rehoster("","","");
register s2=new register("","","");
register.show()