C GET 和 SET屬性作用

2021-07-24 20:59:22 字數 1556 閱讀 6556

c#中get和set,看來看去還是看不懂,通俗一點解釋一下,用了有什麼好處,不用會怎麼樣

如果你這樣寫是沒有什麼不一樣的. 

private int __old; 

public int old 

set}

但是如果你這樣寫就不一樣了. 

private int __old; 

public int old 

set

上面的例子說明屬性中可以新增些**進行處理. 也可以設定的訪問的許可權等.

在類中定義乙個屬性 

public class student 

//這裡是給私有屬性name賦值 

get//這裡取出私有屬性name的值 

} } 

c#在定義類時,通常要把類中宣告的物件封裝起來,使得外界不能訪問這個屬性。上述**中如果去掉set部分,則外界只能讀取name的值,如果去掉get部分,則只能給name賦值。這樣就可以控制外界對私有屬性name的訪問許可權了,這種寫法是c#的乙個特性

當然你也可以通過自己建立函式來對name進行取值和賦值,但這樣就顯得比較麻煩了。

屬性與普通變數不同就在於, 普通變數就是放在屋子裡的東西, 是什麼樣明明白白. 而屬性則是在屋子的門口放了個守門人, 你拿東西放東西要經過他.

這個守門人就是屬性訪問器, 拿東西就是 get, 放東西就是 set. 怎麼拿怎麼放是它說了算, 雖然你覺得好像就是直接拿直接放差不多. 

get set 就是對外的介面 ,一般在例項中訪問成員資料需要這個成員資料的訪問方式為public ,現在c#很高階了,get 就是獲取,set 就是設定,但是它提供了跟好的收縮性,對get 和set 可以單獨設定訪問許可權 比如你對某個成員資料只能讀取或者只寫,或者只有派生類可以訪問等。。。 相對以前來說,沒有屬性訪問器,需要通過函式來呼叫私有成員資料,

屬性提供了高效的訪問模式和簡單的書寫。 

就是為了安全啊~~

欄位是你具體要操作的資料所以他的值不能出錯,可是你又不能避免使用者犯錯~~

為了安全就用屬性來給字段賦值,因為 在set中你可以對資料的安全進行驗證, 

get就更簡單了驗證完資料了就要把值給了字段所以要get 

set的中文意思是「設定」; 

get的中文意思是「獲得」;

補充:

get 和 set 會在相應的時候自動呼叫 

主要是為了隱藏程式內的資料結構時用 

get是獲取該屬性的值, 

set設定該屬性的值。 

在用set時有乙個特殊的變數value 

就是設定屬性時的值

value 隱式引數,用於設定訪問器以及新增或移除事件處理程式。

對類的屬性進行 設定 

比如用類名.屬性=「」賦值 set作用 

變數=類名.屬性 取值 get 作用

C ,get和set屬性訪問器

1 獲取和設定字段 屬性 的值 get是讀取屬性時進行的操作,set是設定屬性時進行的操作。他們的使用與方法非常類似,可以在操作欄位時根據一些規則和條件來設定或獲取欄位的值。為了保證欄位的安全性,可以選擇省去get訪問器或set訪問器。2 定義屬性的語法形式如 public 資料型別 屬性名 set...

C Get和Set在屬性中的使用

get和set在屬性中的作用 第乙個作用 保證資料的安全性,對欄位進行了有效的保護。第二個作用 起到監視作用 private int width 0 public int width set 可以監視欄位的變化,在set中使用 private int width 0 public int width...

C Get和Set在屬性中的使用

get和set在屬性中的作用 第乙個作用 保證資料的安全性,對欄位進行了有效的保護。第二個作用 起到監視作用 private int width 0 public int width set 可以監視欄位的變化,在set中使用 private int width 0 public int width...