C# set 與get 用法與範例| 高清水_黑白講 - - 點部落
文章推薦指數: 80 %
//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
回首頁
延伸文章資訊
- 1C# get & set 存取子(accessors) - 教學筆記(使用visual studio)
C# get & set 存取子class的屬性(Property)可以讓讀、寫、運算機制變得更有彈性, 在這裡要介紹屬性的一個特殊的methods,稱為: 存取子(accessors), ...
- 2What is get and set method in Java? - Quora
Set and get methods are used to assign and retrieve values of an object know as properties. Other...
- 3C# Properties (GET, SET) - Tutlane
In c#, properties will enable class variables to expose in a public way using get and set accesso...
- 4JavaScript - 屬性描述器(2) - iT 邦幫忙
我們又稱 get 與 set 為存取器描述器( accessor descriptor ) 。 ... { // ... get: function() { // ... do somethin...
- 5getter - JavaScript - MDN Web Docs
get 語法會將物件屬性,綁定到屬性被檢索時,所呼叫的函式。 ... get: function get hello() { return 'world'; }, set: undefined }