C#中get和set访问器的用法
生活随笔
收集整理的這篇文章主要介紹了
C#中get和set访问器的用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C#中的get和set訪問器可用來獲取和設置類中字段(即屬性)的值,通過get和set訪問器提供訪問接口,從而可以避免對字段的直接訪問造成的不安全性。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace ConsoleApplication3 {class Program{static void Main(string[] args){User user = new User(12115789, "兄弟", "余華", 78.5);user.PrintInfo();Console.ReadLine();}}class User{/* ---------------方法1:開始--------------- */private int id; //書本IDprivate string name; //書本名稱private string author; //書本作者private double price; //書本價格public int Id{get{return id;}set{id = value;}}public string Name{get{return name;}set{name = value;}}public string Author{get{return author;}set{author = value;}}public double Price{get{return price;}set{price = value;}}/* ---------------方法1:結束--------------- *//* ---------------方法2:開始--------------- *///public int Id { get; set; } //書本ID//public string Name { get; set; } //書本名稱//public string Author { get; set; } //書本作者//public double Price { get; set; } //書本價格/* ---------------方法2:結束--------------- *//// <summary>/// 構造函數/// </summary>/// <param name="id"></param>/// <param name="name"></param>/// <param name="price"></param>public User(int id, string name, string author, double price){this.Id = id;this.Name = name;this.Author = author;this.Price = price;}/// <summary>/// 打印書本信息/// </summary>public void PrintInfo(){Console.WriteLine("==================================");Console.WriteLine("書本信息如下:");Console.WriteLine("ID:" + this.Id);Console.WriteLine("名稱:" + this.Name);Console.WriteLine("作者:" + this.Author);Console.WriteLine("價格:" + this.Price);Console.WriteLine("==================================");}} }方法1使用get和set訪問器:
public 數據類型 屬性名 {get{return 字段名;}set{字段名 = value;} }- get{},get訪問器用于獲取類中字段的值,需要在get語句中使用return返回一個和字段類型相匹配的值。若希望該屬性為只寫屬性,則在屬性的定義中省略get()訪問器。
- set{},set訪問器用于設置類中字段的值,將程序中傳給屬性的值賦值給字段。若希望該屬性問只讀屬性,則在屬性的定義中省略set()訪問器。
方法2使用get和set訪問器:
可以再如上代碼重看到方法1的用法代碼大量重復,因此C#中將屬性的設置也可以簡化為:
public 數據類型 屬性名{ get; set; }使用方法2定義屬性時無需先定義字段,響當于C#中會自動生成一個和屬性名相對應的私有字段,這個私有字段對任何類成員都不開放,只能通過定義的屬性進行訪問,這種屬性的定義方式也成為自動屬性設置。
- get{},get訪問器在自動屬性中不能省略,若需要設置為只寫屬性則需在get前加private進行聲明。
- set{},set訪問器在自動屬性中可以省略,省略后表示該屬性為只讀屬性
?
當類的成員(包括成員方法和成員函數)是用static聲明,訪問類的成員時直接使用“類名.類成員”的方式。
當類的成員不是用static聲明時,訪問類的成員時直接使用“類的對象.類成員”的方式。
需要特別注意的是:若將類中的方法使用static聲明為靜態方法,則在該方法中只能直接訪問使用static聲明的成員,非靜態成員只能通過類的對象才能訪問。
總結
以上是生活随笔為你收集整理的C#中get和set访问器的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python书写风格_以下两种风格 Py
- 下一篇: c# char unsigned_dll