Предположим, что иерархическая структура, где 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
То, что вы хотите, является абстрактным методом, например:
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
Сделайте parseSite
в B
и переопределите его в C
и D