黑馬程式設計師 C 中的屬性和修飾符

2021-06-19 18:11:18 字數 3034 閱讀 3966

----------------------  

asp.net+android+ios開發

、.net培訓

、期待與您交流! ---------------------- 

在自學的過程中被c#中的屬性和

各種修飾符弄得眼暈啊有木有,為了學習時更加清晰明了,我決定趕緊的加強基礎,不求對屬性和修飾符理解的多深刻,起碼求熟臉啊。

屬性:屬性結合了字段和方法的多個方面。

對於物件的使用者,屬性顯示為字段,訪問該屬性需要完全相同的語法。

對於類的實現者,屬性是乙個或兩個**塊,表示乙個 get

訪問器和/或乙個 set

訪問器。

當讀取屬性時,執行get訪問器的**塊;當向屬性分配乙個新值時,執行set訪問器的**塊。

不具有set訪問器的屬性被視為唯讀屬性。不具有get訪問器的屬性被視為只寫屬性。同時具有這兩個訪問器的屬性是讀寫屬性。

get訪問器體與方法體相似。它必須返回屬性型別的值。執行get訪問器相當於讀取欄位的值。get訪問器必須以 return

或 throw

語句終止,並且控制權不能離開訪問器體(也就是說return 或 throw

只能在get的「{}」中出現,寫到get的「{}」外錯誤)。

set訪問器類似於返回型別為 void

的方法。它使用稱為 value

的隱式引數,此引數的型別是屬性的型別。當對屬性賦值時,用提供新值的引數呼叫set訪問器。

屬性舉例:

public class student

set //乙個 

set訪問器,當向屬性分配乙個新值時,執行 

set訪問器的**塊

}}

修飾符:用於限定型別以及型別成員的申明的一種符號。

指定宣告的型別和型別成員的可訪問性。

(1)public

public

關鍵字是型別和型別成員的訪問修飾符。公共訪問是允許的最高訪問級別。對訪問公共成員沒有限制。

(2)private

private

關鍵字是乙個成員訪問修飾符。私有訪問是允許的最低訪問級別。

私有成員只有在宣告它們的類和結構體中才是可訪問的。

(3)internal

internal

關鍵字是型別和型別成員的訪問修飾符。

只有在同一程式集的檔案中,內部型別或成員才是可訪問的。

(4)protected

protected

關鍵字是乙個成員訪問修飾符。

受保護成員在它的類中可訪問並且可由派生類訪問。

三,

abstract:指示該方法或屬性沒有實現.

const:指定域或區域性變數的值不能被改動.

*const

關鍵字用於修改欄位或區域性變數的宣告。它指定欄位或區域性變數的值是常數,不能被修改。

event:宣告乙個事件.

*類和結構使用事件將出現的可能影響物件狀態的事件通知給物件。

extern:指示方法在外部實現.

*extern

修飾符用於宣告在外部實現的方法。

extern

修飾符的常見用法是在使用

interop 

服務調入非託管**時與

dllimport

屬性一起使用;在這種情況下,該方法還必須宣告為

static。

extern

關鍵字還可以定義外部程式集別名,使得可以從單個程式集中引用同一元件的不同版本。

將abstract

和extern

修飾符一起使用來修改同一成員是錯誤的。使用

extern

修飾符意味著方法在

c# **的外部實現,而使用

abstract

修飾符意味著在類中未提供方法實現。

override:對由基類繼承成員的新實現.

*在用作修飾符時,new關鍵字可以顯式隱藏從基類繼承的成員。隱藏繼承的成員意味著該成   員的派生版本將替換基類版本。在不使用 new修飾符的情況下隱藏成員是允許的,但會生成警告。使用 new顯式隱藏成員會取消此警告,並記錄代之以派生版本這一事實。

若要隱藏繼承的成員,請使用相同名稱在派生類中宣告該成員,並使用 

new修飾符修飾該成員。

對同一成員同時使用 

new和override是錯誤的,因為這兩個修飾符在含義上相互排斥。使用 

new會用同樣的名稱建立乙個新成員並使原始成員變為隱藏的,而 

override

則擴充套件繼承成員的實現。

在不隱藏繼承成員的宣告中使用 

new修飾符將會生成警告。

readonly:

宣告乙個字段,該欄位只能賦值為該宣告的一部分或者在同乙個類的建構函式中。

*readonly

關鍵字是可以在字段上使用的修飾符。當欄位宣告包括

readonly

修飾符時,該宣告引入的字段賦值只能作為宣告的一部分出現,或者出現在同一類的建構函式中。在此示例中,字段year

的值無法在changeyear

方法中更改,即使在類建構函式中給它賦了值。

----------------------  

asp.net+android+ios開發

、.net培訓

、期待與您交流! ---------------------- 

黑馬程式設計師 修飾符和訪問修飾

asp.net android ios開發 net 培訓 期待與您交流!修飾符和訪問修飾符小總結 1.類訪問修飾符 修飾符 class 類名稱 extends 父類名稱 implements 介面名稱 訪問修飾符與修飾符的位置可以互換 訪問修飾符 public 可被所有類訪問 public類必須定義...

黑馬程式設計師 類訪問修飾符屬性

asp.net unity開發 net培訓 期待與您交流!物件導向 一 類 什麼是類?類是乙個抽象的概念,僅僅是個模板,比如說 人類 電腦 汽車等等 物件 是乙個具體的實體,比如說小明家的房子 小明這個人,小明的汽車等等 類不佔記憶體,物件才佔記憶體 類是物件的型別 物件是類的例項 instance...

黑馬程式設計師 C 訪問修飾符

c 中的訪問修飾符 public 可以在任何地方被訪問 internal 只能在本專案中訪問 private 只能在本類中被訪問 protected 只能在本類和子類中被訪問 protected internal 對所有繼承該類或在該程式集內宣告的類可以訪問 預設訪問修飾符說明 在乙個類中定義變數和...