На этот вопрос уже есть очень хорошие ответы.
Тем не мение. мой ответ для тех людей, которые ищут какой-то рабочий пример.
Вот полный рабочий -> КОД
Здесь мы не делаем ничего нового, это похоже на любой другой сценарий наследования (вы хотите иметь общее поведение в нескольких местах, но вы хотите написать такое поведение только один раз).
ПРЕИМУЩЕСТВО:
Это обеспечивает лучшую читаемость кода, удобство сопровождения и тому подобное. Но не после этой возможности, Они не будут иметь значения для вас, если ваш мозг работает как газель.
Мы за настоящей властью наследования «КОНТРОЛЬ» . (Это то, что происходит и в реальной жизни. Родитель контролирует ребенка :)).
В моем примере у меня есть два действия MainActivity и OtherActivity.
Оба вида деятельности имеют разный макет, но я хочу, чтобы они оба начинались с анимации или приветствия.
Наша первая задача - выяснить общее поведение.
здесь -> Начать активность с анимации.
Мы нашли общую «вещь», теперь мы напишем это поведение в BaseClass ( AnimationActivity ).
MainActivity и OtherActivity будут наследовать AnimationActivity.
Таким образом, код будет выглядеть как `
BaseActivity
AnimationActivity {
startAnimation()
{
....
}
}
Детские занятия
MainActivity extends AnimationActivity{
}
OtherActivity extends AnimationActivity{
}
Этот подход к проектированию обеспечивает большую гибкость Control и (POWER OF MODIFIER).
1) CONTROL: Хранить метод анимации внутри onCreate ()
Когда вы решите, что действия должны быть начаты с анимации.
Держите ваш метод внутри метода onCreate (Bundle bundle). Теперь, просто изменив модификатор, вы можете контролировать дочерние действия.
Если вы оставите модификатор как
окончание: Действия детей начнутся с родительской анимации.
аннотация: Детям нужно будет показать свою анимацию.
без модификатора: дочерние действия могут иметь собственную анимацию путем переопределения метода анимации, в противном случае дочерняя деятельность будет иметь родительскую анимацию.
2) Гибкость: Не сохраняйте метод анимации внутри onCreate ()
Вы можете обеспечить гибкость дочерних действий, не сохраняя метод анимации внутри onCreate (Bundle bundle).
Теперь действия могут иметь гибкость, чтобы иметь родительскую анимацию или собственную анимацию или вообще не использовать анимацию.
Надеюсь, это поможет.
Счастливого обучения.
`