屬性可以替代類當(dāng)中的字段訪問方法和修改方法,利用屬性能夠方便的實現(xiàn)對類當(dāng)中私有字段的操作键科,get和set訪問器對類的數(shù)據(jù)進(jìn)行操作處理
只有g(shù)et:只讀屬性
只有set:只寫屬性
兩者都有:讀寫屬性
在圓類Circle當(dāng)中使用屬性
class Circle{
private double radius;
public double Radius{
get{return radius;}
set{
radis=value;}}
屬性不同于方法,屬性聲明只有名稱漩怎,沒有括號勋颖,沒有參數(shù),
字段名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;
}
類當(dāng)中可以省略屬性對應(yīng)的私有字段的聲明勋锤,該字段將由編輯器自動添加饭玲,必須同時包含get;set;
private string id;
pirvate string name;
pubcli string Id{
get {retur id;}
set{id=value;}
}
靜態(tài)字段:
用static聲明的字段,沒有static聲明的字段是實例字段
僅分配一塊內(nèi)存叁执,各個實例都可以共享該靜態(tài)字段
實際編程當(dāng)中茄厘,而可以將同類對象公用的數(shù)據(jù)聲明為類的靜態(tài)字段
eg:統(tǒng)計網(wǎng)站訪問的人數(shù)
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)//構(gòu)造方法
{
Name=nm;
Emal=tel;
Tel=te;
count++;
COnsoel.WriteLine("用戶:{0},{1},{2}",Name,Emal,Tel)
COnsoe.WriteLine("zhucechenggong!");
}static public void show(){
Console.WriteLine("當(dāng)前注冊人數(shù):{0}",count);
}}
class Progra,{
static void Mian(String[]args){\
register s1-new rehoster("","","");
register s2=new register("","","");
register.show()