2012-05-13 2 views
0

есть Activity класс, ListActivity класс, TabActivity класс. Я хочу расширить эти классы, используя ту же функциональность. Например, добавьте метод toDoSomething() в каждый из них. Невозможно использовать множественное наследование в Java.Class hierarhy решение

Не могли бы вы сказать мне Desing рисунок или другое решение, чтобы решить эту проблему без копирования и вставки

Спасибо!

+0

Непонятно, в чем проблема. Являются ли 'ListActivity' и' TabActivity' производными от 'Activity'? Если это так, поместите общую функциональность в базовый класс. –

+1

Вы говорите о стандартных классах активности Android? Почему вы хотите добавить метод к каждому из них? Нет, множественное наследование не разрешено в Java. Нет, «повторное использование кода» не является действительной мотивацией. Для этого нужны классы полезности. –

+0

Вам нужно будет создать классы My * Activity, объявить 'IDoSomethingable' с помощью метода и делегировать функцию' toDoSomething() 'другому классу. – user802421

ответ

1

Вы можете сделать меньше copy-paste, если вы определите свой собственный класс DoSomethingHelper с помощью метода doSomething() (возможно, doSomething(Activity activity)), а затем обратитесь к нему из всех ваших действий по мере необходимости. Я не знаю лучшего решения.