C#中屬性和成員變量的區(qū)別說明
一個類,有時候搞不清楚到底用成員變量還是屬性。
如:
成員變量
public string Name;
或者用屬性
private string name
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
屬性與成員變量類似,它們都提供數(shù)據(jù)存儲,但屬性的功能遠(yuǎn)比成員變量強(qiáng)大。屬性由特殊方法(Get 和 Set 訪問器)訪問。Get 和 Set 訪問器允許在設(shè)置或檢索屬性之后驗(yàn)證屬性值、執(zhí)行其他代碼或執(zhí)行其他任務(wù)
例如
成員變量這樣寫
public readonly string Name;
那還是可以是只讀了
private string name
public string Name
{
get
{
return name;
}
}
面向?qū)ο蟮木幊谭椒ㄊ且橄?、封裝;在類中,定義的變量是正對類本身而言,我們把它們叫做域。它可以為public ,private等;屬性是針對外部看到的類的特性,是類展示給外部使用者的特性。前面我們講到了域可以為public,但這樣把域申明為public將 不利于類的封裝,因?yàn)橥獠渴褂谜呖梢詫︻愡M(jìn)行直接修改。所以我們就可以用到屬性,我們只是公開它們的屬性,至于如何對其進(jìn)行賦值(set)如何進(jìn)行取值 (get)都已經(jīng)進(jìn)行了封裝,對于類外部是不可見的。對于外部使用者來說只能夠使用它,不能控制它,如何控制操作是由類自身決定的。你理解了嗎?
相關(guān)文章
C#實(shí)現(xiàn)驗(yàn)證字符串的長度的方法詳解
這篇文章主要為大家詳細(xì)介紹了C#如何使用正則表達(dá)或者計算字符數(shù)組長度或字符串的長度來驗(yàn)證驗(yàn)證字符串的長度,感興趣的小伙伴可以學(xué)習(xí)一下2024-02-02C#實(shí)現(xiàn)Word和ODT文檔相互轉(zhuǎn)換詳解
ODT文檔格式一種開放文檔格式(OpenDocument Text)。本文以C#及VB.NET代碼展示ODT和Word文檔之間相互轉(zhuǎn)換的方法,感興趣的可以學(xué)習(xí)一下2022-05-05使用C#實(shí)現(xiàn)Windows組和用戶管理的示例代碼
這篇文章主要介紹了使用C#實(shí)現(xiàn)Windows組和用戶管理的示例代碼,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2021-01-01C# 表達(dá)式目錄樹Expression的實(shí)現(xiàn)
本文主要介紹了C# 表達(dá)式目錄樹Expression的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09c#數(shù)據(jù)綁定之?dāng)?shù)據(jù)轉(zhuǎn)化為信息的示例
這篇文章主要介紹了c#數(shù)據(jù)綁定中的數(shù)據(jù)轉(zhuǎn)化為信息的示例,需要的朋友可以參考下2014-04-04