【发布时间】:2021-08-29 04:27:34
【问题描述】:
我想了解以下代码(第 3 行)中“受保护”关键字的使用。
public class PlayerData
{
static protected PlayerData instance;
static public PlayerData Instance { get { return instance; } }
public int health;
}
public class GameManager
{
PlayerData.Instance.health = 10;
}
【问题讨论】:
-
你知道
protected是什么意思吗? -
派生类可以完全替换实例,因为它是受保护的。但这是糟糕的设计。大多数设计指南都建议成员变量(无论是否静态)应该始终是私有的。
-
我建议询问作者。他们应该知道他们为什么要这么做。
-
是的,我知道受保护的含义:受保护的成员可以在其类内和派生类实例中访问。我问这个问题是因为这里没有继承。所以我认为他写这段代码是有特定原因的。我只是想学习
-
它由 Unity 3D 开发人员编写。我在名为 Trash Dash 的游戏中找到了它。脚本的名称是 PlayerData。
标签: c# unity3d static field protected