第三章 . 如何使用C#屬性
1.Private訪問修飾符 訪問修飾符可以用來修飾類成員字段和方法,每個訪問修飾符只能為緊隨其後的成員指定特定的訪問權限
如果將字段或方法聲明為public 就表示其他類可以訪問這個字段或方法
如果為private那麼該字段或方法只能在本類中使用,其他類不能訪問 故對該內容有保護權限,但可以借助第三方對該內容修改
示例如下:借助帶參數的聲明為public的方法來傳入參數進而對私有字段進行修改
定義一個dog類 姓名聲明為private 然後定義一個public的方法為Setname來更改dog類中的姓名
在Main方法中傳入參數
2.this關鍵字
在面向對象編程語言中,this關鍵字是指當前對象本身,使用this關鍵字可以解決成員變量和局部變量的沖突問題
3.C#中的屬性
1.用方法保證數據安全
示例如下:在dog類中定義一個SetAge()方法來對傳入的數據進行判斷,避免不合邏輯的修改
在main方法中的的代碼:
2.用屬性實現字段封裝
01.C#中的屬性
在C#中字段通常是私有的,如果要訪問類中的字段,需要通過get和set訪問器實現,這種結合了字段和方法的實現方式我們稱之為屬性。
get訪問器用來返回相應的私有字段的值
set訪問器用來設定相應的私有字段的值 相當於無返回值得方法,它使用一個隱含的輸入參數value,黨對屬性賦值時,將會調用set訪問器,並將新的參數值賦予 對應的字段
示例如下:dog類中的代碼:
Main方法中的代碼如下:
02.屬性的數據類型
上圖中用藍線圈起來的便是一個屬性
定義類中的一個屬性時,屬性的數據類型必須與它所訪問的字段類型一致
注意:屬性的類型可以是一個類或一個數組
03.屬性的訪問類型
屬性可以約束數據訪問外,還可以設置讀、寫屬性來限定他的訪問類型,屬性的訪問類型可以分為一下三種:
只讀屬性:只包含set訪問器
只寫屬性:只包含get訪問器
讀寫屬性:包含get和set訪問器
04.在編碼中如何快速地創建屬性
在一個類中,將該字段設置為私有,選中該字段ctrl+R+E(封裝字段的快捷鍵),然後回車會車。即可
注意:在C#中
001.為類的私有字段命名是,要以下劃線(_)開頭,隨後的英文字母采用駱駝命名法
002.為類的屬性命名時用Pascal命名法(即組成屬性名稱的多個單詞的首字母均大寫)
05.對象初始化器
未使用對象初始化器:
Dog dog=new Dog();
dog.Age=6;
使用對象初始化器:
Dog dog=new Dog(){Age=6};
4.值傳遞和引用傳遞
值傳遞:方法傳遞參數是如果采用值傳遞,那麼就算在被調用的方法中對參數的值進行修改,在方法調用之後,參數仍然是原來的值
值傳遞又分為值類型(不會更改內容) 和引用類型(會更改內容)
示例如下(值類型):
有輸出結果可判定值傳遞不會更改數值
示例如下(引用類型):
引用傳遞:在C#中,要想使參數按引用傳遞,需要ref關鍵字來修飾參數
示例如下:
輸出結果:
可見引用傳遞會保留對數值的更改