Какой тип я должен назначить, если есть несколько возможностей? - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть два класса Class A и Class B.Я сделал запрос, скажем repository.findById.Этот запрос может возвращать выходные данные, которые могут иметь тип A или тип B.

Теперь в классе B есть все поля, которые есть в классе A, и некоторые дополнительные поля.

Я знаю, что могу написатьнапример:

B res = repository.findById;

Но такое письмо может вводить в заблуждение, поскольку класс А и В концептуально сильно различаются.

Таким образом, в основном проблема заключается в

? res =repository.findById;

, где? может быть A или B.

Как мне решить эту проблему?

1 Ответ

0 голосов
/ 04 февраля 2019

Это звучит так, как будто вам нужен базовый интерфейс, который реализуют оба класса.

И обратите внимание: с точки зрения пуристической ООП ваши утверждения

Теперь класс B имеет всеполя, которые находятся в классе A и некоторые дополнительные поля.

и

, поскольку классы A и B концептуально сильно отличаются

повышениекрасные флаги.Когда они концептуально такие разные, зачем им (и обличать ?!) так много похожих полей?!

...