C# 类数据成员(字段或属性)可以是私有的、公共的或受保护的。
如果我想要一个成员方法的私有字段只使用而不暴露给外界怎么办?
我可以继续使用私有字段,而不会破坏封装或任何东西,对吗?
我不理解的是两个概念:我们可能需要向外界公开的数据与我们可能不需要这样做的数据(在类的外围)..
在谈论构建类时,这两种类型的数据是什么?
在下面的示例中,私有字段“名称”对于类是私有的,但对于/由外部世界仍然是可获取/可设置的。那么这里的抽象是“不直接公开,就像'你去-拥有它',而是添加一个间接的访问或更新机制?当我们谈论公共领域与公共属性时,这就是我们在这里谈论的封装吗?
class Employee2
{
    private string name = "Harry Potter";
    private double salary = 100.0;
    public string GetName()
    {
        return name;
    }
    public void SetName(string title, string fullName)
    {
       this.name = title + fullName;        
    }
    public double Salary
    {
        get { return salary; }
    }
}
class PrivateTest
{
    static void Main()
    {
        Employee2 e = new Employee2();
        // The data members are inaccessible (private), so 
        // they can't be accessed like this: 
        //    string n = e.name; 
        //    double s = e.salary; 
        // 'name' is indirectly accessed via method: 
        string n = e.GetName();
        // 'salary' is indirectly accessed via property 
        double s = e.Salary;
    }
}