这个问题已经有了很好的答案。
然而。我的答案是针对那些正在寻找工作示例的人。
这是完整的工作-> 代码
我们在这里没有做任何新的事情,就像任何其他继承方案一样(您希望在多个地方有一些共同的行为,但只想编写一次该行为)。
优势:
它的确提供了更好的代码可读性,可维护性和等等。但是不是这些能力,如果您的大脑像瞪羚一样运转,它们对您来说就没有关系。
我们追求继承“ CONTROL”的真正力量。(这也是现实生活中发生的事情。父母控制孩子:))。
在我的示例中,我有两个活动MainActivity和OtherActivity。两种活动都有不同的布局,但我希望它们都以动画或欢迎消息开头。
我们的首要任务是找出常见行为。在这里->从动画开始活动。
我们已经找到了常见的“事物”,现在我们将该行为写在BaseClass(AnimationActivity)中。
MainActivity和OtherActivity将继承AnimationActivity。
因此代码看起来像是`
基础活动
AnimationActivity {
startAnimation()
{
....
}
}
儿童活动
MainActivity extends AnimationActivity{
}
OtherActivity extends AnimationActivity{
}
这种设计方法提供了很多控制和灵活性(POWER OF MODIFIER)。
1)控制:当您决定应该以动画开始活动时,将动画方法保留在onCreate()中。将您的方法保留在onCreate(Bundle bundle)方法中。现在,只需更改修改器,就可以控制子活动。
如果将修饰符保留为
final:子级活动将从父级Animation开始。
摘要:儿童活动将不得不赋予自己的动画。
no修饰符:子活动可以通过覆盖动画方法来拥有自己的动画,否则,子活动将具有父动画。
2)灵活性:不要将动画方法保留在onCreate()中,可以通过不将动画方法保留在onCreate(Bundle bundle)中来提供子活动灵活性。现在,活动可以灵活地具有父级动画或自己的动画,也可以根本没有动画。
希望能帮助到你。
学习愉快。
`