我有两个类(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不允许多重继承。
非常感谢
答案 0 :(得分:1)
你能为一些助手类提取常用功能吗?使用组合而不是继承
答案 1 :(得分:0)
创建一个BaseAbstractFragment类,它将是抽象的并从Fragment继承。现在创建另一个ListViewAbstractClass(BaseAbstractFragment的子类)并在其中添加ListView,而不是从ListFragment继承它。现在从ListViewAbstractClass继承ClassA和ClassB,从BaseAbstractFragment继承ClassC。