成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺析C# get和set用法

開發 后端
C# get set用法中,get是讀取屬性時進行的操作,set是設置屬性時進行的操作。定義一個屬性如果只有get,這個屬性就是只讀的。

C# get set用法很簡單的,但是必須要很好掌握基礎的認識,才能更好的理解C# get set用法。

C# get set用法中,get是讀取屬性時進行的操作,set是設置屬性時進行的操作。定義一個屬性如果只有get,這個屬性就是只讀的。同樣,只有set,屬性就是只寫的,當然只寫的屬性是沒有任務意義的。

假設類是一個銀行,既能存錢也能取錢.

  1. private        m_money;  
  2. private        class        bank()     
  3. {  
  4.      get      
  5.   {  
  6.      return        m_money;               
  7.   }  
  8.      set     
  9.   {  
  10.      m_money=value  
  11.   }    

money就像銀行里的自動存取款機,你看不見里面的money,但你能用set(存錢),用get(取錢)。m_money是一個私有字段,是分裝在類中的,類以外的程序不能直接訪問的,C# get set用法中,類的set和get成員是外部程序訪問類內部屬性的唯一方法,就像你去銀行取錢,你不能直接從銀行的保險柜里拿到錢,而是銀行營業人員把錢取出來給你的。

屬性在調用者看來就像一個普通的變量,普通變量怎么用,它就怎么用,但作為類的設計者,你可以利用屬性來隱藏你類中的一些字段,使外界只能通過屬性來訪問你的字段,你可以通過屬性來限制外界對你的字段的存取,就利用get,set,如果你想讓用戶隨意存取你的字段,那么就實現set和get,如果只想讓用戶讀取字段,就只實現get,若只想讓用戶寫字段就只實現set,同時你還可以在set和get中對用戶傳遞來的值進行一些驗證工作,以確保你的字段將含有正確的值。

C# get set用法比如

  1. private        int        a;  
  2. public        int        Index  
  3.     {  
  4.         get 
  5.         {  
  6.             return        a;  
  7.         }  
  8.             set 
  9.         {  
  10.             if        (value>0)  
  11.             a=value;  
  12.             else 
  13.             a=0;  
  14.          }  
  15.      }  

可以看出,C# get set用法中有一種函數的特征。

C# get set用法中一則是隱藏組件或類內部的真實成員,
二是用來建立約束的,比如,實現“有我沒你”這種約束。
三是用來響應屬性變化事件,當屬性變化時做某事,只要寫在SET   方法里就行了。

有兩種途徑揭示類的命名屬性——通過域成員或者通過屬性。前者是作為具有公共訪問性的成員變量而被實現的;后者并不直接回應存儲位置,只是通過   存取標志(accessors)被訪問。

當你想讀出或寫入屬性的值時,存取標志限定了被實現的語句。用于讀出屬性的值的存取標志記為關鍵字get,而要修改屬性的值的讀寫符標志記為set。

  1. using        System;  
  2. public        class        House  
  3.  {  
  4.     private        int        m_nSqFeet;  
  5.     public        int        SquareFeet  
  6.     {  
  7.       get        
  8.      {  return  m_nSqFeet;   }  
  9.       set       
  10.      {  m_nSqFeet  =  value;   }  
  11.     }  
  12.   }  
  13. class        TestApp  
  14.   {  
  15.       public   static  void  Main()  
  16.        {  
  17.       House  myHouse  =   new House();  
  18.        myHouse.SquareFeet =   250;  
  19.        Console.WriteLine(myHouse.SquareFeet);  
  20.        }  
  21.   }   

House類有一個命名為SquareFeet的屬性,它可以被讀和寫。實際的值存儲在一個可以從類內部訪問的變量中——如果你想當作一個域成員重寫它,你所要做的就是忽略存取標志而把變量重新定義為:

  1. public        int        SquareFeet; 

對于一個如此簡單的變量,這樣不錯。但是,如果你想要隱藏類內部存儲結構的細節時,就應該采用存取標志。在這種情況下,set   存取標志給值參數中的屬性傳遞新值。(可以改名,見第10行。)

除了能夠隱藏實現細節外,你還可自由地限定各種操作:
get和set:允許對屬性進行讀寫訪問。
get        only:只允許讀屬性的值。
set        only:只允許寫屬性的值。
除此之外,你可以獲得實現在set標志中有效代碼的機會。例如,由于種種原因(或根本沒有原因),你就能夠拒絕一個新值。***是沒有人告訴你它是一個動態屬性——當你***次請求它后,它會保存下來,故要盡可能地推遲資源分配。

以上就是對C# get set用法的簡單介紹。

【編輯推薦】

  1. 淺析Silvelight中顯示多重數據模型集合
  2. C# XML解析方式實例解析
  3. 簡述C# XML解析方法的特點及應用
  4. 有關事件與委托關系的思考
  5. .NET對象的XML序列化和反序列化實例詳解
責任編輯:阡陌 來源: 博客園
相關推薦

2009-09-10 15:27:16

C# get set

2009-09-11 09:15:06

C# get方法

2009-08-27 15:22:27

C#中的GET與SET

2009-09-10 14:52:55

C# get

2009-09-11 09:15:32

C# get set

2009-08-27 13:50:08

C# StringBu

2009-08-19 10:41:14

C# switch和c

2009-08-27 16:18:47

C#類C#結構體

2009-08-26 09:54:45

C#打印預覽C#打印

2009-08-31 09:20:37

C#事件注冊和注銷

2009-08-17 18:34:50

C# ChangeCo

2009-08-14 17:45:52

C# ArrayLis

2009-08-07 17:25:37

C# SortedLi

2009-09-10 16:41:13

C# get post

2009-08-25 17:59:49

C#入門

2009-08-26 09:58:22

C#關鍵字

2009-10-09 09:07:40

C#委托和事件

2009-08-12 14:59:09

C#和Java不同點

2009-08-17 18:04:49

C# 枚舉

2009-08-10 14:43:03

C#函數Convert
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久国产一区二区三区 | av免费网站在线 | 奇米超碰在线 | 成人免费片 | 自拍视频网站 | 国产色99 | 性一交一乱一伦视频免费观看 | 久草免费在线视频 | 久久www免费视频 | 亚洲精视频| 羞羞视频网站在线观看 | 国产免费又黄又爽又刺激蜜月al | 99国产视频| 国产精品国产三级国产aⅴ原创 | 欧美一区二区三区视频在线观看 | 美女二区 | 国产成人一区二区三区 | 午夜伦理影院 | 精品欧美一区二区三区久久久 | 午夜视频大全 | 免费h在线 | 国产成人精品久久二区二区91 | 国产精品高清在线 | 欧美日韩三级在线观看 | 2021狠狠干 | 一区二区在线不卡 | 国产在线精品一区二区三区 | 一级黄色录像片子 | 国产区在线观看 | 国产精品片aa在线观看 | 激情a| 四虎影音| 伊人久久成人 | 天堂av中文 | 黄色大片免费看 | 99亚洲国产精品 | 国产精品日韩欧美一区二区三区 | 玖玖久久| 日韩中文字幕av | 精品欧美一区免费观看α√ | 中文字幕第5页 |