【发布时间】:2021-07-21 13:37:12
【问题描述】:
也许这是不可能的,或者我混淆了一些东西,但它打破了我的头。
假设我们有一个抽象类 A 和一个基于 A 的类 B。A 是否可以从 B 访问变量/函数?
例子:
abstract class A
{
public bool activeA = false;
public bool getState()
{
return test; // The variable from class B
}
}
class B : A
{
public bool test = true;
public void isActive()
{
return base.getState(); // So this should return true because getState() should access the variable test^^
}
}
【问题讨论】:
-
嗯...抽象类不能被实例化,所以它不能访问
class B中存在的变量。见:abstract class -
您是否正在尝试解决某个特定问题?可能有更好的方法,但如果没有关于该问题的更多信息,我不确定该建议什么。
-
他们似乎如此纠缠不清,不清楚为什么你不只是有一个
AB类。也许给我们一个更具体的例子? -
如果
A的子类没有test字段怎么办?它不可能工作。也许您想将getState()移动到B,或者甚至将其抽象化,以便B可以使用自己的细节来实现它。
标签: c# class inheritance abstract