To pytanie ma już bardzo dobre odpowiedzi.
Moja odpowiedź jest dla osób, które szukają jakiegoś działającego przykładu.
Oto pełna robocza ->CODE
Nie robimy niczego nowego tutaj, to jest tak jak w każdym innym scenariuszu spadkowego (Chcecie jakieś wspólne zachowanie w wielu miejscach, ale chcesz napisać, że zachowanie tylko raz).
zaletę: To ma zapewnić lepszą czytelność kodu, łatwość utrzymania i blah blah.But nie są po tych -ibility, nie będzie miało znaczenia dla Ciebie, jeśli twój mózg działa jak gazela.
Poszukiwaliśmy prawdziwej potęgi dziedziczenia "KONTROLA". (Tak dzieje się również w prawdziwym życiu, rodzic kontrolujący dziecko :)).
W moim przykładzie mam dwie Aktywności Aktywności Głównej i InneJakość. Obie czynności mają inny układ, ale chcę, aby obie zaczynały się od animacji lub wiadomości powitalnej.
Naszym pierwszym zadaniem jest znalezienie wspólnego zachowania. tutaj -> Zacznij aktywność z animacją.
Znaleźliśmy wspólną "rzecz", teraz napiszemy to zachowanie w BaseClass (AnimationActivity).
MainActivity i OtherActivity będą dziedziczyć AnimationActivity.
Więc kod wyglądałby `
BaseActivity
AnimationActivity {
startAnimation()
{
....
}
}
dziećmi Zajęcia
MainActivity extends AnimationActivity{
}
OtherActivity extends AnimationActivity{
}
Podejście to konstrukcja zapewnia dużo Sterowanie i Elastyczność (ZASILANIE MODYFIKATORA).
1) KONTROLA: Zachowaj metodę animacji wewnątrz onCreate() Kiedy zdecydujesz, że działania powinny zostać uruchomione z animacją. Zachowaj metodę wewnątrz metody Utwórz aktualizację (pakowanie pakietu). Teraz wystarczy zmienić modyfikator, aby kontrolować działania podrzędne.
Jeśli zachowujesz modyfikator jako
końcowy: Działania podrzędne rozpoczną się od animacji nadrzędnej.
streszczenie: Działania dla dzieci będą musiały dać własną animację.
brak modyfikatora: Działania podrzędne mogą mieć własną animację poprzez przesłonięcie metody animacji, w przeciwnym razie dziecko będzie miało animację nadrzędną.
2) Elastyczność: Nie trzymaj metodę animacji wewnątrz onCreate() Można przewidywać zajęcia dziecko elastyczność, nie utrzymując metodę animacji wewnątrz wiązki onCreate (Bundle). Teraz działania mogą mieć elastyczność, aby mieć animację rodzica lub swoją animację lub animację w ogóle.
Mam nadzieję, że to pomaga.
Szczęśliwe uczenie.
`
dziękuję bardzo, to jest dokładnie to, czego potrzebowałem. – user173488
Nie ma problemu P) Niedźwiedź Miałem na myśli, że szybko to zakodowałem w edytorze StackOverflow, mogą być błędy składni – Guillaume
dzięki, wziąłem pomysł i zastosowałem go do innych funkcji, danych do przekazania i AsyncTask w BaseActivity, działało dobrze. – user173488