C# 外人是什么意思?

C# 外人是什么意思?,c#,class,public,C#,Class,Public,我开始学习C#,它把我和“局外人”混淆了。局外人是我们代码中未经授权的人吗?这不是C#行话,但它指的是任何非对象的实体 在这种特殊情况下,局外人可能是创建玩家或其他游戏实体的工厂 通常,您只希望将对指定资源的访问权限授予选定的少数人。这维护代码清理器(当您强制使用您适当设计的特定访问时),确保遵循流程(假设在设置分数时,您还想更新Player的其他变量,如果有人直接修改变量,副作用将被忽略) 当您为他人编写库时,整个情况变得更加关键:您希望尽可能多地封装内部变量,不允许他人“自由访问”所有内容,

我开始学习C#,它把我和“局外人”混淆了。局外人是我们代码中未经授权的人吗?

这不是C#行话,但它指的是任何非对象的实体
在这种特殊情况下,局外人可能是创建玩家或其他游戏实体的工厂

通常,您只希望将对指定资源的访问权限授予选定的少数人。这维护代码清理器(当您强制使用您适当设计的特定访问时),确保遵循流程(假设在设置分数时,您还想更新
Player
的其他变量,如果有人直接修改变量,副作用将被忽略)


当您为他人编写库时,整个情况变得更加关键:您希望尽可能多地封装内部变量,不允许他人“自由访问”所有内容,因为他们可能会篡改重要内容。

局外人是此对象之外的任何其他代码。所以,当您将变量设置为private时,只有这个对象中的代码才能更改它。这样,您就可以通过调用setScore方法,而不是直接访问它,强制该类之外的任何其他代码修改分数。

超出范围…?请不要将代码作为一个共享对象共享images@PavelAnikhouski那么作为文本?我以后会处理的future@Voyar是的,作为文本和代码,其他人可以很容易地复制它。你现在的问题只是关于解释,但对未来来说,它会使你的想法更加明确sense@PavelAnikhouski我只是在长时间的不活动之后检查了我的个人资料,发现我之前的问题也是由你和另一位成员以封闭状态提出的。你能给我一个理由吗?我将期待改进