Общие задачи в методах деятельности - как их организовать? - PullRequest
0 голосов
/ 08 октября 2010

У меня есть некоторые распространенные действия, запускаемые методами onPause() и onResume(). (Как регистрация и отмена регистрации BroadcatsReceivers)

Теперь я помещаю их в абстрактные классы и расширяю классы Activity.

После создания некоторых абстрактных классов с общими действиями у меня возникает ситуация, когда я не могу расширить Activity из-за отсутствия множественного наследования в Java.

Как вы справляетесь с такими вещами? Вы дублируете код или делаете что-то умнее?

Мне интересно, если это более широкая проблема - не только в отношении Android, но и языка Java.

1 Ответ

1 голос
/ 16 апреля 2013

Задача A и Задача B - две отдельные задачи. Но для использования только в одном классе. Таким образом, вы можете иметь только один абстрактный класс. Аннотация может не понадобиться, если вы чувствуете, что в дочернем классе нет функций, которые придется переопределять.

Если по какой-то причине может существовать задача D, которая использует только задачу A, то вы можете сделать следующее:

public abstract class ExtendedAbstractActivityA extends Activity
{
     public void TaskA()    {}
     public void TaskB()    {}
     //Other abstract classes
}

Вы можете вызывать эти задачи индивидуально из ваших соответствующих классов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...