如何保护基地的公共/私人

Bur*_*imi 2 c# oop inheritance

如果我有ClassA

    public class ClassA
    {
        public string name;
    }
Run Code Online (Sandbox Code Playgroud)

属性名称为公共位置,可以从任何位置进行修改.比我有一个ClassB

    public class ClassB : ClassA
    {
        private string name;//But it's not Woking ,name is still public
    }
Run Code Online (Sandbox Code Playgroud)

...继承了ClassA,但我需要在ClassB中name作为私有字段.所以,如果我创建类型的对象ClassB的不是ClassB.name不能修改.

Car*_*ten 6

只是不发布该字段,但访问者:

public class ClassA
{
    private string _name;
    public string Name { get { return _name; } protected set { _name = value; } }
}

public class ClassB : ClassA
{
  /* nothing left to do - you can set Name in here but not from outside */
}
Run Code Online (Sandbox Code Playgroud)