麻烦高手帮我指出C#中“//”左边对成员的访问是否正确,错误的请说明理由噢

来源:百度知道 编辑:UC知道 时间:2024/06/21 16:39:49
程序清单:
class ClassA
{
public int a;
private int b;
protected int c;
public void SetA()
{
a=1;//
b=2;//
c=3;//
}
}
class ClassB:A
{
public void SetB()
{
ClassA BaseA=new ClassA();
BaseA.a=11;//
BaseA.b=22;//
BaseA.c=33;//
}
}
class ClassC
{
public void AetB()
{
ClassA BaseA=new ClassA();
BaseA.a=111;//
BaseA.b=222;//
BaseA.c=333;//
}
}

高手?,我不是,共同研究吧

class ClassA
{
public int a;
private int b;
protected int c;
public void SetA()
{
a=1;//
b=2;//
c=3;// 访问绝对正常,这样在无法访问,编译器问题
}
}
class ClassB:A
{
public void SetB()
{
ClassA BaseA=new ClassA();
BaseA.a=11;// 正常,公共的嘛!
BaseA.b=22;// 不对,你侵犯了私有领地
BaseA.c=33;// 这一行,我不明白,既然想访问,干嘛要ClassA实例化?分离出来你就不是那家人了,你是不会被承认的!
}
}
class ClassC
{
public void AetB()
{
ClassA BaseA=new ClassA();
BaseA.a=111;// 这行,不说了
BaseA.b=222;// 同上上上
BaseA.c=333;// 一个外人,谁理你!
}
}

protected 类型只能在本类和继承该类的方法时才可使用!其他免谈