我父类的派生类的方法:为什么protected成员才可访问由
class clsTestParent
{
protected int x;
public void Foo()
{
x = 10;
}
}
我有Derrived类,如下:
class clsDerivedTest : clsTestParent
{
x = 10;
Foo();
}
但是这是行不通的,因为我得到以下两个错误:
类,结构或接口成员声明中的令牌'='无效
方法必须返回类型
但是上述表述的正常工作,当我尝试在派生类中有一个方法来使用它们如下:
class clsDerivedTest : clsTestParent
{
public void myTestMethod()
{
x = 10;
Foo();
}
}
为什么保护VAR或方法仅访问通过派生类方法但不直接在类中。
我甚至试图通过创建对象,如下访问受保护的成员:
clsDerivedTest objDerivedTest = new clsDerivedTest();
objDerivedTest.x = 10;
但是再次得到错误保护级别。我有var作为保护,所以为什么派生类的对象无法访问它?
我需要清除面向对象的基本原理,但卡在这里。
我猜你的意思是不能? –
该死的手机,是的:)谢谢。 – Tigran
更正;-) ... –