這個問題已經有了很好的答案。
我的答案是針對那些正在尋找一些實例的人。
以下是完整的工作 - >CODE
我們沒有做什麼新的東西,它就像任何其他的繼承方案(您想在多個地方的一些常見的行爲,但你要編寫行爲只有一次)。
優勢: 它確實提供了更好的代碼的可讀性,可維護性和嗒嗒blah.But不是這些-ibility後,如果你的大腦運行像羚羊,他們不會不管你的。
我們是在繼承的實權之後「CONTROL」。 (這也是現實生活中發生的事情。父母控制孩子:))。
在我的例子中,我有兩個活動MainActivity和OtherActivity。 兩種活動都有不同的佈局,但我希望他們都以一些動畫或一些歡迎消息開頭。
我們的第一個任務是找出共同的行爲。 here - >用動畫開始活動。
我們已經找到了常見的「東西」,現在我們將在BaseClass中編寫該行爲(AnimationActivity)。
MainActivity和OtherActivity將繼承AnimationActivity。
所以代碼看起來像`
BaseActivity
AnimationActivity {
startAnimation()
{
....
}
}
兒童活動
MainActivity extends AnimationActivity{
}
OtherActivity extends AnimationActivity{
}
這種設計方法提供了很多控制和靈活性(改良力量)。
1)控制:保持動畫方法中的onCreate() 當你決定,活動應與動畫開始。 保持你的方法在onCreate(Bundle bundle)方法中。現在只需更改修飾符,您就可以控制子活動。
如果保留修飾符爲
final:子活動將從父動畫開始。
摘要:兒童活動將不得不給自己的動畫。
無修飾符:通過覆蓋動畫方法,小孩活動可以擁有自己的動畫,否則小孩將擁有父動畫。
2)靈活性:不要讓裏面的onCreate動畫()方法 你可以不守動畫方法中的onCreate(捆綁包)提供兒童活動的靈活性。 現在活動可以靈活地擁有自己的動畫或根本沒有動畫的父級動畫或 。
希望它有幫助。
快樂學習。
`
非常感謝你,這正是我所需要的。 – user173488 2012-01-11 15:09:34
沒問題P)記住我在StackOverflow編輯器中很快編寫了代碼,可能會出現語法錯誤 – Guillaume 2012-01-11 19:43:50
謝謝,我接受了這個想法並將它應用於其他函數,要傳遞的數據以及BaseActivity中的AsyncTask,它工作得很好。 – user173488 2012-01-12 07:23:10