C#屬性化的方法描述
本文向大家介紹C#屬性化的方法,可能好多人還不了解C#屬性化的方法,沒(méi)有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。
C#屬性化的方法
屬性的概念對(duì)大家來(lái)說(shuō)應(yīng)該是很熟悉的,類(lèi)成員函數(shù)可以自由地訪問(wèn)本類(lèi)中的任何屬性成員。不過(guò)若要從一個(gè)類(lèi)中去訪問(wèn)另一個(gè)類(lèi)中的屬性,那就比較麻煩了,所以很多時(shí)候我們使用Getxxx和Setxxx方法,這樣看起來(lái)顯得極不自然,比如用Java或者C++,代碼是這樣的:
- foo.setSize (getSize () + 1);
- label.getFont().setBold (true);
但是,在C#中,這樣的方法被“C#屬性化的方法”了。同樣的代碼,在C#就變成了:
- foo.size++;
- label.font.bold = true;
可以看出來(lái),C#顯然更容易閱讀和理解。我們從這個(gè)“屬性方法”的子程序代碼中,也可以看到類(lèi)似情況:
- public int getSize()
- {
- return size;
- }
- public void setSize (int value)
- {
- size = value;
- }
- C#:
- public int Size
- {
- get{return size;}
- set{size = value;}
- }
為了區(qū)分這種屬性化的方法和類(lèi)的屬性成員,在C#中把屬性成員稱(chēng)作“域(field)”,而“屬性”則成為這種“C#屬性化的方法”專(zhuān)用的名詞。順便說(shuō)一句,其實(shí)這樣的C#屬性化的方法在VB和DELPHI中是經(jīng)常碰到的,在VB中它也就叫屬性。
另外,在C#中Get和Set必須成對(duì)出現(xiàn),一種屬性不能只有Get而沒(méi)有Set(在Java和C++中就可以只有Get或者只有Set),C#中這樣做的好處在于便于維護(hù),假如要對(duì)某種屬性進(jìn)行修改,就會(huì)同時(shí)注意Get和Set方法,同時(shí)修改,不會(huì)改了這個(gè)忘了那個(gè)。
【編輯推薦】