Getter and Setter In C# 簡短的要命 - 技術筆記- 痞客邦
文章推薦指數: 80 %
因此才需要把過程用getter setter 封裝起來 !! (還有許多價值在此不論). 回到C# !! class Student{. public string name{get;set;}.
技術筆記
跳到主文
"單純"紀錄各方面學習心得及筆記,也請多多指教。
部落格全站分類:收藏嗜好
相簿
部落格
留言
名片
Feb03Fri201720:05
GetterandSetterInC#簡短的要命
在熟悉一個IDE的前幾件事情就是弄懂
怎麼快速建立getterandsetter!!
但是使用VisualStudio卻讓我佈及煩惱...
怎麼getterandsetter長這樣?
這強烈衝擊java派的我的心....
classStudent{
publicstringname{get;set;}
publicintscore{get;set;}
}
這到底是什麼???
讓我不禁又開始思考,
那我到底使用他幹嘛??直接取值不就好了──
這就要回顧為何要封裝(encapsulate)屬性(value)了
回到java中我們擅長寫成
classStudent{
privatestringname;
privateintscore;
publicstringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
.........
}
這個動作封裝了name 跟score屬性...
使之不出現在公開介面之中,
但其實他的價值是在於"changeability"
如果你的介面是公開的
所有的程式都如此撰寫:
stringname=myStudent.name;
myStudent.score=50;
那之後如果在get或set中想新增程序怎麼辦?
如果想要在設置分數的時候驗證分數範圍
那你將需要"把每一道曾經讀寫屬性的程式碼都改寫!!!"
因此才需要把過程用gettersetter封裝起來 !!
(還有許多價值在此不論)
回到C#!!
classStudent{
publicstringname{get;set;}
publicintscore{get;set;}
}
這時候就要認證,這莫名其妙短到不行的寫法是否多餘!?
那就是證明它可以擴充功能!!
於是我發現了 上述寫法叫做
Auto-ImplementedProperties
編譯器會建造在背景出現私有的屬性供讀取
未來要擴充時,只要稍微改寫一下就好了(假如增加驗證分數手續)
classStudent{
privateint_score;
publicstringname{get;set;}
publicintscore{
get{return_score;}
set{
if(isScoreOutOfRange(value))
thrownewScoreOutOfRangeException();
_score=value;
}
}
}
值得注意的是參數是value唷!
}
文章標籤
getter
setter
c#
全站熱搜
創作者介紹
水球潘
技術筆記
水球潘發表在痞客邦留言(0)人氣()
E-mail轉寄
全站分類:進修深造個人分類:C#此分類上一篇:IDisposableandUnmanagedResources
上一篇:IDisposableandUnmanagedResources
下一篇:寫程式要用說故事的口吻─用函數名稱來取代你的註解才是所謂的可讀性
歷史上的今天
2017:IDisposableandUnmanagedResources
▲top
留言列表
發表留言
最新文章
熱門文章
文章分類
資工手札(0)
API,SDK(0)
書評心得筆記(1)
CleanCode無瑕的程式碼(2)
技術分享筆記(0)
職場心得(0)
英文(2)
同義字筆記(0)喜愛句子(0)
程式語言(7)
Java(0)C#(2)ASP.NET(0)Android(0)HTML,CSS,JAVASCRIPT(0)Git(0)MySQL(0)
軟體工程(3)
軟體工程(0)UML分析(0)Designpattern設計模式(0)
音樂(1)
音樂心情日記(0)
最新留言
站方公告
[公告]2022年度農曆春節期間服務公告[公告]MIB廣告分潤計劃、PIXwallet錢包帳戶條款異動通知[公告]2021年度農曆春節期間服務公告
活動快報
我要抽人氣咖啡機!
即日起,趕快下載痞客邦App,即可免費獲得眾多好康...
看更多活動好康
我的好友
動態訂閱
文章精選
文章精選
2017二月(3)
2017一月(1)
所有文章列表
文章搜尋
新聞交換(RSS)
誰來我家
參觀人氣
本日人氣:
累積人氣:
QRCode
POWEREDBY
(登入)
回到頁首
回到主文
免費註冊
客服中心
痞客邦首頁
©2003-2022PIXNET
關閉視窗
延伸文章資訊
- 1C# 的唯讀自動屬性是怎樣煉成的 - Huan-Lin 學習筆記
C# 1 public class Employee { private string _id; // 屬性背後的實際 ... 到了C# 2,getter 和setter 可以限定存取範圍,例如...
- 2What are getters and setters and why are they important? - C# Corner
- 3Learn C# Properties: Getters and Setters at ... - Codeasy
" Value is a placeholder for the value that is assigned to the property Age. Because we defined t...
- 4c#: getter/setter - Stack Overflow
In C# 6: It is now possible to declare the auto-properties just as a field: public string FirstNa...
- 5Learn C# Properties: Getters and Setters at ... - Codeasy