C # объектно-ориентированная структура классов

1

Предположим, что иерархическая структура, где 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
Теги:
oop

2 ответа

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

  • 0
    Вы должны указать, является ли абстрактный метод асинхронным?
0

Сделайте parseSite в B и переопределите его в C и D

Ещё вопросы

Сообщество Overcoder
Наверх
Меню