Использовать метод перегрузки .
public void SomeMethod(A arg)
{
String id = arg.ID;
Object name= arg.Name;
}
public void SomeMethod(B arg)
{
String id = arg.ID;
Object name= arg.Name;
}
Вы можете создать интерфейс и A
и B
реализовать его. Это действительно зависит от вашего приложения. Для небольших программ я бы просто использовал перегрузку методов, так как она просто привносит ненужную абстракцию в вашу программу.
Для более крупных приложений, где расширяемость является приоритетом, вы можете рассмотреть возможность использования интерфейса. Предположим, позже вы захотите написать классы C
и D
, которые также имеют SomeMethod()
. Использование интерфейса позволяет вам не просматривать весь код и не перезагружать соответствующие методы снова и снова.
Если вы точно знаете, что A
и B
- это конец истории, тогда нет необходимости создавать интерфейс.
РЕДАКТИРОВАТЬ: Если есть много кода, который должен быть продублирован, создайте вспомогательный метод:
public void SomeMethod(A arg)
{
HelpMePlease( arg.ID, arg.Name );
}
public void SomeMethod(B arg)
{
HelpMePlease( arg.ID, arg.Name );
}
private void HelpMePlease( String id, Object name ) {
// 1000 lines of code here
}