目錄屬性
使用屬性
利用 set 和 get 訪問器 執行其它運算
唯讀和只寫屬性
屬性和公共字段
自動實現屬性
靜態屬性
屬性是代表類的例項或類中的乙個資料項的成員。屬性指的是一組兩個匹配的、稱為訪問器的方法:
public 返回型別 識別符號
set訪問器總是:
get訪問器總是:
屬性跟字段的相同點:
屬性跟字段的不相同點: 訪問器的重點如下: 寫入和讀取屬性的訪問器時,會被隱式呼叫: 注意: 不能顯式地呼叫訪問器,就跟呼叫函式那樣, 會出現編譯錯誤。namespace ch05ex03
get}
}class program}}
我們經常將類中的字段宣告private以封裝該欄位, 然後宣告乙個public的屬性來控制從類的外部對該字段的訪問。和屬性關聯的字段稱為後備欄位或後備儲存。
屬性和後備字段需要注意的問題有:
private double namefield = 3.14; //第一種約定
public double namefild
get}
private double _namefield = 3.14; // 第二種約定
public double namefild
get}
屬性訪問器不僅僅只可以對關聯的字段傳入傳出資料, 還可以執行任何計算,或者不執行任何計算。但是get訪問器必須返回乙個屬性型別的值。
下面看乙個更有用的示例:
namespace ch05ex03
get}
}class program}}
屬性比公共字段更好,理由如下:
自動實現屬性:允許只宣告屬性而不宣告後備字段。 編譯器會為你建立隱藏的後備字段, 並且自動掛接到get 和 set 訪問器上。
自動實現屬性的要點如下:
namespace ch05ex03
}class program}}
除了方便之外,自動實現的屬性還允許您輕鬆地插入乙個屬性,本來那裡您可能想要宣告乙個公共欄位的。
屬性也可以宣告為 static,靜態屬性的訪問器和所有靜態成員一樣,具有以下特點:
namespace ch05ex03
public void printvalue()
");}
}class program
");d.myvalue = 10; // 在類的外部設定靜態屬性的值
writeline($"再輸出靜態屬性的值:");
readkey();}}
}
再看乙個示例程式:
namespace ch05ex03
"); //writeline($"輸出bb的值:"); 錯誤,靜態成員函式不可以輸出非靜態成員資料
}public void printvalue()
"); // 非靜態的成員函式可以輸出靜態欄位的值
writeline($"輸出aa的值:");
}public static int myvalue
get}
}class program
");d.myvalue = 100; // 在類的外部設定靜態屬性的值
writeline($"再輸出靜態屬性的值:");
d myd = new d();
myd.printvalue();
readkey();}}
}輸出結果為:
先輸出靜態屬性的值:0
再輸出靜態屬性的值:100
輸出bb的值:100
輸出aa的值:12
C 定義屬性 靜態屬性
2012年06月27日 08 57 00 weixin 34198583 閱讀數 11 c 靜態屬性可以是讀寫屬性,唯讀屬性,只寫屬性中的任意一種。也就是說,靜態屬性可以同時包含set訪問器和get訪問器,也可以只包含其中一種。靜態屬性定義方式就是在屬性前加static關鍵字,語法如下 訪問修飾符 ...
java中靜態屬性與非靜態屬性
student 類 public class student public student string name public string getname public void setname string name 測試類 public class test 1.靜態的屬性屬於類的,不依賴於...
php 類中的靜態屬性
class ceshi public function b ce new ceshi ce a ce b echo cee new ceshi cee b echo class exercise public function b ce new exercise ce a ce b echo cee...