唯讀/唯寫屬性
唯讀屬性表示執行程式時,只能讀取而無法修改其值
public string Title { //唯讀屬性
get { return name }
}
唯讀屬性表示執行程式時,只能讀取而無法修改其值
public string Title { //唯讀屬性
set { name = value; }
}
自動實作屬性
撰寫類別程式,為了讓宣告的屬性更簡潔,程式區段中只保留存取子get和set,不加任何的程式碼,編譯器會自動支援私有(private)欄位。
private string name; //定義欄位
public string Title { //定義屬性
get { return name; }
set { name = value }
}
public string Title { get;set; } //採用自動實作屬性
練習題
//student.cs
class student
{
public string Title { get;set; }
public short Ages { get;set; }
public void ShowMessage () =>
Console.WriteLine($"Hello! {Title}, 年齡:{Ages}.");
}
//program.cs
static void Main(string[] args)
{
Student luke = new Student();
Console.Write("請輸入你的名字:");
luke.Title = ReadLine();
Console.Write("請輸入你的年齡:");
luke.Ages = Int16.Parse(ReadLine()); // 轉為short型別
//顯示訊息
luke.ShowMessage();
}
將自動屬性給予初值
通常屬性採自動實作時其初值的設定有兩種方式:
//student.cs
class Student
{
// 自動實作屬性並設初值
public string Title { get; set; } = "Poe Dameron";
public short Ages { get; set; } = 22;
public DateTime Enrolled { get; } = DateTime.Now;
public void ShowMessage() =>
Console.WriteLine($"Hello! {Title}, 年齡:{Ages}. -目前時間{Enrolled}");
}
//program.cs
static void Main(string[] args)
{
Student poe = new Student();
//顯示訊息
poe.ShowMessage();
}
以上來源:從零開始學visual C# 2017程式設計、W3Schools、詢問chatGPT
內容有誤的話,請留言或發訊息給我