这个问题已经有了很好的答案。
我的答案是针对那些正在寻找一些实例的人。
以下是完整的工作 - >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