當前位置

首頁 > 商務英語 > 計算機英語 > c中get set的用法

c中get set的用法

推薦人: 來源: 閱讀: 1.33W 次

下面小編就跟你們詳細介紹下c中get set的用法的用法,希望對你們有用。

ing-bottom: 66.41%;">c中get set的用法

  c中get set的用法的用法如下:

面向物件程式設計的一個規則是:使使用者只需要指定物件能做什麼,而不需要去指定或者瞭解物件是如何完成該的。

屬性是物件內部的資料,使用者如果能夠直接訪問物件內部資料,顯然就違反了上述規則。(這也有點類似Windows系統對記憶體的保護,可以通過API來操作,但不推薦直接訪問記憶體,那樣就可能把記憶體搞亂了。)

通過get和set訪問器來訪問,就保持了這種規則,而且還提供了額外的功能,如對值進行檢查,實現只讀或只寫屬性等。

總的來說就是可以通過set get 來對類的屬性進行封裝,面向物件的程式是不可以直接用類自己定義的屬性的

剛剛學C#的時候,很多人都不明白屬性的訪問器有什麼用呢,我上網見了不少的評論,拉下來給大家看看

一般面向物件程式語言都要求成員變數不能直接暴露給外部訪問,如下:

public class A

{

public int Age; //這是不好的,待會有程式設計師可能把-1賦給Age

}

為了防止亂賦值,C#設計了一個屬性機制,要求把成員變數設為私有,在通過屬性來控制成員變數的讀寫,如下:

public class B

{

private int age; //私有成員變數

public int Age //age的屬性

{

get{ return age; } //讀取器

set{ //寫入器

if(value>0)

age = value; //value是準備寫入的值

}

}

}

這樣Age就像保安一樣,擋在age的前面。訪問age的時候需要通過Age許可,如下:

B b = new B();

= -1; //這是不行的,-1被帶入value,value<0,判斷不成立

= 10; //這是可行的 如果還有不懂的話可以留言,我儘量教會你,下面是我一個簡單是例子//-------------------------------------------------------------------------------------using System;using ric;using ;using ;namespace ConsoleApplication2{ public class Myclass{ private string id=""; private string name=""; public string ID { get { return id; } set { id =value; } } public string Name { get { return name; } set { name =value; } } } class Program { static void Main(string[] args) { Myclass clazz = new Myclass (); ="我愛你阿"; ="王素瑩"; eLine("{0}他是誰?{1}",,); Line(); } } }