有人告诉我,可以使用base
或this
关键字在派生类中访问基类中的受保护变量。我现在完全糊涂了,因为,this
关键字指的是当前类(派生类)。
public class A
{
protected int i;
}
public class B :A
{
void Display()
{
this.i=10;
// (or)
base.i=10;
}
}
有技术上的区别吗?首先,今天我想知道为什么我不能在Display()
方法内部创建 A 的对象并通过该对象访问变量 i ,因为受保护访问的定义表明,它可以在任何派生类中访问。伙计们,我见过一些线程,但是他们说的是,我们无法创建对象并访问受保护的成员。我觉得,这与定义完全相反。
有人可以解释一下我上面的两个问题吗