android 继承类,Differents类的类从android Java中的抽象类继承

我有两个类(ClassA和ClassB)应该是ListFragment。 这两个类具有共同的行为,因此我创建了一个抽象类(AbstractClass)。 因此AbstractClass继承自ListFragment。 到目前为止,我的ClassA和ClassB继承自从ListFragment继承的AbstractClass。

问题出在我需要另一个应该为Fragment(不是ListFragment)的ClassC但又需要AbstractClass的行为时,但是我不能从中继承,因为ClassC应该只是Fragment,而我的abstractClass是ListFragment。

我想让我的ClassA,ClassB和ClassC从我的AbstractClass继承,但是成为ClassA,ClassB Listfragment和ClassC只是片段。

我确定应该使用Java中的某种设计模式或解决该问题的良好实践。

我知道Java不允许多重继承。

非常感谢

所有这三个类都扩展了AbstractList和ListFragment,但ClassC将在onCreateView()中返回各自的布局。

我不知道您想表达什么意思,但是这样做必须在ClassC布局中使用ListView,并且我不想在该Fragment中使用listview。 我可以将其设置为不可见,不要使用,但我认为这不是很干净。

您可以将常用功能提取到一些帮助程序类吗? 使用合成代替继承

我不确定是否可以使用它,因为我需要使用Fragments类中的生命周期方法。

您可以从生命周期方法中调用辅助方法

是的,您是对的,尽管我不想这样做,但我想我可以做到。 我希望所有子类都有一个抽象的父类,我认为这要干净得多。

创建一个BaseAbstractFragment类,该类将是抽象的并继承自Fragment。 现在创建另一个ListViewAbstractClass(BaseAbstractFragment的子类)并在其中添加ListView,而不是从ListFragment继承它。 现在,从ListViewAbstractClass继承ClassA和ClassB,从BaseAbstractFragment继承ClassC。

有趣的答案,但是将单个listview添加到ListViewAbstractClass中,我将不会拥有ListFragment的所有内置帮助方法...我一直在寻找与此类似的答案,但是我认为这不会起作用。

您的抽象类的目的是什么? 如果它仅具有抽象功能,那么您也可以使用接口。

不,我不能使用接口。 实际上,我只有三种抽象方法。 几乎所有功能都在生命周期方法中。 目的是通过应用程序计费方式进行管理,其中一些在后台运行,还可以在购买后处理下载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值