乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      C#屬性與字段變量的區(qū)別

       隱形的翅膀 2007-05-17
       
      連續(xù)兩天被問到這個(gè)問題,發(fā)現(xiàn)初學(xué)者從wrox的入門經(jīng)典紅寶書中很難找到正確的答案。

      通過這兩天的回答我總結(jié)出一個(gè)通過講解和例子來從初學(xué)者的眼光出發(fā)解釋的方法。
      (以C#語言下字符串類型為例)

      在這里就不多說字段變量了,簡單提一句,字段變量就是對(duì)象公布出來和外界交互數(shù)據(jù)的變量。

      屬性是對(duì)一個(gè)或多個(gè)變量的包裝,在Java環(huán)境中,屬性是通過從對(duì)象中暴露出來的Set方法和Get來實(shí)現(xiàn)的:
      public boolean SetPublicString(string val){this.mPublicString = val;}

      public string GetPublicString(){return this.mPublicString;}

      而在DotNet當(dāng)中,總結(jié)了以上的Set和Get方法,直接將其定義成了一個(gè)暴露屬性,通過對(duì)這個(gè)屬性的訪問方式不同(取值還是賦值)而采用不同的代碼如以下所示的get代碼段和set代碼段

      變量的定義
      public string mPublicString;
      屬性的定義
              public string PublicString{
                  
      get{return this.mPublicString;}
                  
      set{this.mPublicString = value;}
              }

      因?yàn)榭梢宰龅绞褂貌煌拇a段,所以在訪問的時(shí)候可以使用更多的邏輯控制來取到或限制需要的值:
      public string PublicString{
        
      get{
          
      if(this.mPublicString.Length>10){
            
      return this.mPublicString;
          }

          
      else{
            
      return "";
          }

        }

        
      set{
          
      this.mPublicString = value;
        }

      }
      以上代碼的意思是如果訪問PublicString時(shí)就去查看mPublicString的長度,如果大于10就返回否則就返回空字符串。

      綜上就把字段變量mPublicString包裝了起來,并不是直接的面向?qū)ο蟮氖褂谜?,達(dá)到控制的目的。
      屬性的方法中還能寫各種復(fù)雜的邏輯,因?yàn)閷傩灾衧et或get的代碼塊等同于SetPublicString和GetPublicString的方法。

      希望以上的內(nèi)容能對(duì)你有所幫助,希望能知道你對(duì)于這個(gè)問題更精確,更簡單明了的解釋方法。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多