C# set 與get 用法與範例| 高清水_黑白講 - - 點部落

文章推薦指數: 80 %
投票人數:10人

//get 存取子"提供",將該值(字串)進行判斷、處理再回傳 ... 唯讀屬性存取 public double Salary { get { return salary; } set { salary = value; } ... 學習記錄    //get存取子"提供",將該值(字串)進行判斷、處理再回傳     //set存取子"設定",用於處理計算及邏輯處理    範例一數字運算 classsubclass { privatedoublesalary=100.0; //salary成員則是透過公用唯讀屬性存取 publicdoubleSalary { get{returnsalary;} set{salary=value;} } } classProgam { staticvoidMain() { subclasse=newsubclass();//實例化subclass類別,以產生new的物件"e" Console.WriteLine("subclasse.ToString=>{0}",e.Salary.ToString()); e.Salary=1111; Console.WriteLine("subclasse.ToString=>{0}",e.Salary.ToString()); e.Salary+=1; Console.WriteLine("subclasse.ToString=>{0}",e.Salary.ToString()); Console.ReadKey(); } } get存取子 執行基底類別 classsubclass { privatedoublesalary=100.0; //salary成員則是透過公用唯讀屬性存取 publicdoubleSalary { get{returnsalary;} } } set含有特殊的keyword:value 當有值傳入時,都會存入value中 所以當執行 e.Salary=1111; 會將預設值由100.0改成1111 透過公用屬性 set{salary=value;}  classsubclass { privatedoublesalary=100.0; //salary成員則是透過公用唯讀屬性存取 publicdoubleSalary { set{salary=value;} } } 以此類推 結果如下: 範例二 字串  classsubclass { publicstringname; //subclassclass被實例化時,會立即執行建構子內容,並且可以傳入參數 publicstringnameGet { get { if(name!="") { returnname; } else { return"default"; } } set { Console.WriteLine("NameGet:{0}",value); } } publicoverridestringToString()//覆寫subclass.ToString() { return"overridestringToString="+name; } } classProgam { staticvoidMain() { subclasse=newsubclass();//實例化subclass類別,以產生new的物件"e" e.name="JT"; Console.WriteLine("覆寫e.Tostring:{0}",e); e.nameGet="Brayn"; //set含有特殊的keyword:value //當有值傳入時,會存入value中 //set //{ //Console.WriteLine("帳號:{0}",value); //} Console.WriteLine("NameGetToString=>{0}",e.nameGet); //get存取子為"提供",要返回結果 //get{ //if(name!="") //{ //returnname; //} //else //{ //return"default"; //} //} Console.ReadKey(); } }   //覆寫subclass.ToString()   classsubclass { publicoverridestringToString()//覆寫subclass.ToString() { return"overridestringToString="+name; } } 呼叫執行用法 Console.WriteLine("subclasse.ToString=>{0}",e.Salary.ToString()); 下面兩種方式 可呼叫相同結果 1.Console.WriteLine("e.Tostring:{0}",e); 2.Console.WriteLine("e.Tostring:{0}",e.tostring()); 純記錄,練習回想,再測試。

有事沒事多學,學習活在當下,做一件事情後,學會一件事就好。

JT getsetoverride 回首頁



請為這篇文章評分?