Home [C# 筆記] 属性省略與權限控制
Post
Cancel

[C# 筆記] 属性省略與權限控制

屬性字段省略方式

屬性訪問省略規則

屬性訪問省略

  • get方法不可以省略
  • set方法可以省略
    • 「構造方法」內部可以對set省略的屬性進行賦值
    • class類別內的其他方法內,不可以對set省略的屬性進行賦值
    • 省略了set的屬性為唯讀:
      • 1.唯讀屬性的初始化在「構造方法」內部
      • 2.唯讀屬性在初始化之後,就無法進行更改了
      • 3.唯讀屬性應用在某個屬性初始化一次,後續不可有改(比如:學生id編號)

如果省略了get,類內/類外方法均無法訪問當前數據,無意義

1
2
3
4
5
6
7
class Play {
    public Play() {
        //省略了set方法的屬性,可以被構造方法賦值
        Money = 100;
    }
    public int Money { get; }
}

get/set 權限

練習:我的錢只能自己看到自己改

我的錢:

  1. 只能自己看到
  2. 我自己更改
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class User { 
    //使用uint無符號整數:錢的數目不能為負數
    public uint Money {
        get;
        private set;
    }

    public void AddMoney(uint money) {
        //if (money < 0) {
        //    Console.WriteLine("幹啥呀!!");
        //    return;
        //}
        Money += money;
    }
}

User user = new User();
user.AddMoney(100);
Console.WriteLine(user.Money);

uint無符號整數

https://www.bilibili.com/video/BV1XP411U7BA

This post is licensed under CC BY 4.0 by the author.