C# 用几个关键词来控制谁能看,谁不能看。
| 修饰符 | 权限范围 | 江湖比喻 |
|---|---|---|
public |
公开 | 广而告之,天下人皆可访问。 |
private |
私有 | 绝密,只有本门派(本类)内部可以访问。默认就是这个。 |
protected |
受保护 | 传家宝,只有本门派和分舵(子类)可以访问。 |
internal |
内部 | 同盟会,同一个程序集(项目)内可以访问。 |
我们不想让外人直接修改我们的内力值,只能通过特定的方法(练功/受伤)来改变。
class Swordsman
{
// 私有变量:外人看不见,改不了
private int internalEnergy = 100;
// 公开方法:外人可以调用
public void Attack()
{
Console.WriteLine("哈!看剑!");
// 内部可以随心所欲地修改私有变量
internalEnergy -= 10;
}
// 公开方法:展示内力
public void ShowEnergy()
{
Console.WriteLine("当前内力:" + internalEnergy);
}
}
创建一个 TreasureBox 类:
gold 变量。AddGold(int amount) 方法来存钱。GetGold() 方法来查看余额。gold,看看编译器会说什么?
class TreasureBox
{
private int gold = 0;
public void AddGold(int amount)
{
gold += amount;
}
public int GetGold()
{
return gold;
}
}
// 在 Main 中:
// box.gold = 100; // 报错!'TreasureBox.gold' is inaccessible due to its protection level