在 C# 中,如果它建议我始终将我的实例字段声明为私有(封装),我是否也应该始终将我的静态字段声明为私有?

问题描述 投票:0回答:0
public class Person
{
    private string _name; // always recommended to be private

    private static string s_homePlanet; // recomended?
}

如问题中所述,封装的实践建议我始终将我的实例字段声明为

private
。隐藏实例的信息。

根据Fields(C#编程指南)

“通常,您应该只对具有私有变量的变量使用字段 或受保护的可访问性。”

根据C#现场设计

“封装原则是面向对象设计中最重要的概念之一。该原则指出存储在对象内部的数据应该只能由该对象访问。这种解释立即暗示所有字段都必须是私有的。”

我知道静态字段存储在类型实例之间共享的信息;因此,存储在静态字段中的信息并不特定于任何实例。话虽如此,我是否总是将静态字段声明为

private
???

c# static field encapsulation
© www.soinside.com 2019 - 2024. All rights reserved.