c# 第30節 類字段與屬性
阿新 • • 發佈:2018-03-29
esp OS thread col value || tex inf isp
本節內容:
1:字段是什麽
2:屬性判斷字段的安全
3:對屬性的解釋
1:字段是什麽
字段其實在上一節我們就使用過了:再來詳細的說他一說
amespace cw { public enum gender //public 是為了讓所有的類都可以使用 { 男, 女 } public class Clerk { //這就是字段了,那麽字段一般 是下劃線加變量名 _arg ;;字段是用來存放數據 public string _name;public gender _gerder; public int _age;
public void show() { Console.WriteLine("{0}是{1},{2}歲。",this._name,this._gerder,this._age); } } ############調用################# class Program { static void Main(string[] args) {//要想使用別的類要先實例化 Clerk zs = new Clerk(); zs._name = "張三"; zs._gerder = gender.男; zs._age = -24; zs.show(); Console.ReadKey(); } } } //輸出:張三是男,-24歲
2:屬性判斷字段的安全
看到字段輸出 了嗎?
張三是男,-24歲
what ? 輸出的是-24歲這不如何常理啊!可是我字段就是讓存放數據的啊,又不能對判斷說能不能放,這可怎麽辦。。。。。
這時候我們的主人公屬性就出來了:那麽屬性的作用是什麽呢?
保護字段,對字段的取值與賦值進行限定。
實例:修改上面字段BUG:
說明: 屬性往往被聲明在字段在下方,並且將字段私有化。 打個比方就是:屬性是男人,主外。而女人主內,並且還要將她私有化。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace cw { public enum gender //public 是為了讓所有的類都可以使用 { 男, 女 } public class Clerk { //這就是字段了,那麽字段一般 是下劃線加變量名 _arg ;;字段是用來存放數據 public string _name; public gender _gerder; private int _age; public int Age { get { return _age; } set { if (value < 0 || value > 120) value = 0; _age = value; } } public void show() { Console.WriteLine("{0}是{1},{2}歲。",this._name,this._gerder,this.Age); } } } using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace cw { class Program { static void Main(string[] args) { //要想使用別的類要先實例化 Clerk zs = new Clerk(); zs._name = "張三"; zs._gerder = gender.男; zs.Age = -24; zs.show(); Console.ReadKey(); } } }請求完整實例
3:對屬性的說明
通常我們將get和set稱為訪問器 get屬性訪問器用於返回屬性值 set 屬性訪問器用於分配新值 屬性又分了4種: 1)既讀又寫,如這個實例; 2)只讀,只有一個get訪問器 3)只寫,只有一個set訪問器 4)自動 get ;set
c# 第30節 類字段與屬性