假设一个层次结构,其中B是C的父,D
我想在B中定义C和D将使用的方法,但它会引用将在C和D中定义的其他方法
这种结构的最佳方法是什么?
伪代码中的
class B
int login()
parseSite()
class C : B
int parseSite()
site specific logic goes here
class D : B
int parseSite()
site specific logic goes here
答案 0 :(得分:1)
你想要的是一种抽象方法,例如:
class abstract B
{
public int login()
{
parseSite();
}
protected abstract void parseSite();
}
class C : B
{
protected override void parseSite()
{
}
}
class D : B
{
protected override void parseSite()
{
}
}
login()
方法在B
的所有后代中继承,并调用parseSite()
方法,该方法必须在B
的任何后代中实现。
答案 1 :(得分:0)
在parseSite
中制作B
方法摘要,并在C
和D
中覆盖它。