當前位置:首頁 » 密碼管理 » get是訪問

get是訪問

發布時間: 2023-02-04 09:12:52

㈠ C#中的get和set訪問器怎麼理解和使用

get和set是c#類中屬性的封裝將它隱藏 public string flag{set{FLAG = value;}get{return FLAG;}}定義一個變數FLAG,再定義一個公共成員變數flag(可以再別的類中對flag進行賦值,如obj.flag="aa"),set{}將「aa」賦給value,再將value賦給變數FLAG,FLAG=「aa「,再用get{}返回給flag; 而且可以對變量進行處理.增加安全性 get set 那就是在{}外面一個提取 a的直 一個是給a 賦值 get set 使用方法 string a;//成員變數 public string fu{set{a=value;}//設置值 value是自動接受數據的 屬性中如果只有set,則是只寫屬性; 如果既有get又有set則是可寫屬性; 且get和set分別可以用不同的修飾符。 修飾符分別代表的含義: private:私有類內部可訪問; public:全局; internal:程序集內部可訪問; protected:受保護成員在它的類中可訪問並且可由派生類訪問。

㈡ C#中的get 訪問器 和set訪問器有什麼用

C#允許我們對一個屬性的get和set訪問器使用不同的訪問級別修飾符:

class Customer
{
private string name;
...
public string Name
{
get{return this.name;}
internal set(this.name=value;}
}
...
}

一些注意點

屬性訪問器(get或set)上應用的訪問修飾符必須「小於」屬性上應用的訪問修飾符;「小於」的意思即「更嚴格」,例如protected小於public。

只能在一個屬性訪問器(get或set)上指定比屬性上的訪問修飾符「更小」的訪問修飾符。

對於介面中屬性的聲明,不能給屬性訪問器(get或set)指定任何訪問修飾符,只能默認為public。

屬性訪問器保護級別的變化規則完全適用於C#的索引器。

c語言中get的用法

面向對象編程的一個規則是:使用戶只需要指定對象能做什麼,而不需要去指定或者了解對象是如何完成該的。 下面我就跟你們詳細介紹下c語言中get的用法,希望對你們有用。

c語言中get的用法如下:

通過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();

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

b.Age = 10; //這是可行的

如果還有不懂的話可以留言,我盡量教會你,下面是我一個簡單是例子

//-------------------------------------------------------------------------------------

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

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 ();

clazz.ID ="我愛你阿";

clazz.Name="王素瑩";

Console.WriteLine("{0}他是誰?{1}",clazz.ID,clazz.Name);

Console.ReadLine();

}

}

}

㈣ C#中的get和set訪問器怎麼理解和使用求解答

C#為了提高安全性, 推薦將私有變數進行封裝, 外界通過屬性來訪問私有成員變數, 他提供了兩個訪問其
get訪問其是獲取成員變數里的值, set訪問其是存入值

㈤ C#屬性定義。GET與SET訪問器是怎麼一回事,

1.屬性的聲明
總的來說,只要注意屬性聲明或者在使用是的一些規定就可以了,還有最為重要的:屬性的操作過程。
聲明是用如下語法:

類型 屬性名 {訪問器聲明}

注意:屬性還可以跟方法一樣有參數,當然限制的是,參數必須是值參數外,參數的列表的聲明與方法的一樣。
訪問器包括包含get訪問器和set訪問器

2.get訪問器
get訪問器相當於一個無參數方法,該方法具有屬性類型的返回值以及屬性相同的修飾符,而執行get訪問器就是相當於讀取了欄位的值。需要注意的是,在get訪問器中,返回值作為屬性值提供給調用表達式。
例如:

private int a ;
public int A
{
get{return a;}
}

注意:當引用屬性時,除非該屬性為賦值目標,否則將調用get訪問器讀取該屬性的值。(在沒看到上面這句話之前,也很疑惑,調用時怎麼讓對象知道是get呢,還是set呢?)

3.set訪問器
set訪問器相當於一個void方法,該方法具有單個屬性類型的值參數,以及包含屬性相同的修飾符。
在set訪問器中,新的屬性值通過set訪問器的參數傳遞。值得注意的是,在通過新的屬性值賦值給欄位時,顯示參數傳遞必須聲明為與該屬性相同的數據類型,當然也可以使用隱式參數,不加聲明時,編譯器將使用隱式參數Value來表示賦給屬性的新值。set訪問器隱式具有名為value的參數(value),此參數的類型是屬性的類型。
例如:
private int a ;
public int A
{
set{a=value;}
}
屬性按如下方式,根據所使用的訪問器進行分類:
只帶有get訪問器的屬性稱為只讀屬性。無法對只讀屬性賦值。
只帶有set訪問器的屬性稱為只寫屬性。只寫屬性除作為賦值的目標外,無法對其進行引用。
同時帶有get和set訪問器的屬性為讀寫屬性!
注意:在屬性聲明時,get和set訪問器都必須在屬性體內部聲明。
4.調用get訪問器在概念上等效於讀取欄位的值。但是並不是單單被編寫成只有返回存儲在欄位中的值,事實上可以通過訪問多個欄位的值來計算出用戶所需要的值,然後作為返回值,返回調用的表達式。
例如:
private int a ;
private int b ;
public int AAA
{
get{return (a*b/10)}
}

㈥ 單詞get的詳細用法

vt. 1. 得到, 收到2. 具有3. 使得4. (去)拿來5. 理解, 聽到, 學得6. 感染上, 得(病)7. 抓住, 擊中, 殺死8. 受到(懲罰等)9. 獲得;得到10. (賣某物)掙得,獲得11. 受到;遭到;被判(刑)12. (考試)獲得,達到 13. 與(某人)電話聯系;與(某人)通電話 14. (使)達到,處於 15. 開始(感覺到、認識到、成為);達到…地步(或程度)16. 使,讓(某人或物做某事);說服(某人做某事) 17. 使(某事)發生;使完成(某事)18. 有機會(做…);得到(做…的)機會 19. (使)到達,離開,沿…移動,艱難地移動 20. 使煩惱;使惱火21. 受到;收到;接到;領取,領受22. 搭上(車、船等);趕上(火車等)23. 計算出,得到24. 說服,勸說,勸導,促使(某人)做某事25. 被判(刑),受到(打擊)vt. & vi. 1. 到達, 來, 往vi. 1. 開始, 逐漸2. 成為,變為,變得,變成;(開始…)起來,逐漸…起來3. 設法對付;想法做到,竟然成功地4. 獲得利益(或財富),賺到錢link-v. 1. 遭到2. 成為, 變得1. 變得,成為;到達 got...get [ get] vi.變得,成為;到達...get ahead 進步,獲得成功
2. 得到,獲得,取 113. include vt. 包括,包含...114. get v. 得到,獲得,取...115. default v. 預設,預置,約定
3. 得到 2) 在母音字母e,i之前,少數念[g],如:...get [get] (得到)...give [giv] (給)
4. 獲取 本示例中,只有「獲取」(get) 訪問器可用,因此屬性為只讀屬性。...

㈦ c#get和set用法詳解

1、當引用屬性時,除非該屬性為賦值目標,否則將調用get訪問器讀取該屬性的值。

例如:Employeee1=newEmployee();...Console.Write(e1.Name);//

訪問器必須在return或throw語句中終止,並且控制不能超出訪問器體。

2、set訪問器與返回void的方法類似,它使用稱為value的隱式參數,此參數的類型是屬性的類型。

set訪問器被添加到Name屬性:

publicstringName

{

get{returnname;}

set{name=value;}

}

當對屬性賦值時,用提供新值的參數調用set訪問器。

例如:e1.Name="Joe";//Thesetaccessorisinvokedhere在set訪問器中對局部變數聲明使用隱式參數名(value)是錯誤的。

(7)get是訪問擴展閱讀

get的使用

publicclassCar

{

publicstringColor

{

get{

if(this.viewstate["color"]!=null)

{

returnthis.viewstate["color"];

}

return"":

}

set{this.viewstate["color"];=value;}

}

}

㈧ c++的類中set get函數有什麽作用

get/set成員函數(訪問級別通常為public)使得client端用戶代碼可以訪問對象的內部數據結構,這會暴露類內部的實現細節。這種暴露使會得用戶代碼與類實現之間產生深層次的依賴關系,而這種過剩的知識將在類實現技術改變時迅速破壞相關的用戶代碼---漣漪效果。

比如Container類輸出了關於實現該類之二叉樹的信息(比如,當它輸出成員函數getLeftChild()與getRightChild()時),用戶將被迫按照二叉樹而不是容器進行思考,這將使用戶代碼變得復雜且難以改變。如果Container類改變了實現結構,則用戶代碼將被迫進行修改(可能是大量的)。

最少知識(least knowledge)原則是用於面向對象編碼中降低類間耦合度的指導原則。該原則認為如果要在相互調用的類(對象)之間保持較低的耦合度,則一個對象所調用的方法應該僅僅局限於以下幾個來源:
類對象本身;
被當作方法的參數而傳遞進來的對象;
此方法所創建或實例化的任何對象;
對象的任何組件;

一個對象可以任意調用以上四類對象的方法。唯一一類不可調用的方法來源於:通過某個對象的get成員函數所獲取的間接對象的成員函數。很容易想像,當某個類擁有大量get/set成員函數時,該類本身幾乎不可能提供完善的邏輯處理方法(否則也就沒有必要提供這些get/set成員函數了),因此藉助get成員函數獲取間接對象並做進一步的處理幾乎是不可避免的。

因此,在有可能的情況下,類設計人員應該盡量不提供get與set成員函數。
當然,不要認為get與set成員函數總是壞的,像CORBA這樣的框架都會為所有的屬性自動提供get/set成員函數。真正的問題是:好的對象總會封裝並在介面後面隱藏某些東西,然而get/set成員函數有時會在暗中暴露對象的秘密。只有當在類外(從用戶的角度)看待這些私有數據仍「有意義」時,為私有數據設置公有的get()和set()成員函數才是合理的。然而在許多情況下, get()/set()成員函數和公有數據一樣差勁:它們僅僅隱藏了私有數據的名稱,而沒有隱藏私有數據本身。

熱點內容
安卓機哪裡看型號 發布:2024-03-29 15:59:40 瀏覽:281
cad解壓錯誤 發布:2024-03-29 15:01:45 瀏覽:79
存儲指令集 發布:2024-03-29 14:39:27 瀏覽:649
資料庫表刪除數據 發布:2024-03-29 14:39:26 瀏覽:367
出c語言整除 發布:2024-03-29 14:28:22 瀏覽:572
芬尼壓縮機 發布:2024-03-29 14:24:11 瀏覽:464
電腦數據實時上傳本地伺服器軟體 發布:2024-03-29 14:07:57 瀏覽:920
尋秦記源碼 發布:2024-03-29 13:56:17 瀏覽:496
linux的備份命令 發布:2024-03-29 13:41:22 瀏覽:383
csgo建議什麼配置 發布:2024-03-29 13:31:44 瀏覽:980