多级继承中的多个抽象类

时间:2011-07-05 16:16:28

标签: java inheritance class-design abstract-class

我有以下内容:

public interface A
{ 
   ....
}

public abstract class AbstractClass implements A
{
   // Implements some methods from interface 
   ....
}

public abstract class GroupOne extends AbstractClass
{
   // Implements some methods from interface 
   // Define couple of abstract methods
   .....
}

public abstract class GroupTwo extends AbstractClass
{
   // Implements some methods from interface 
   // Define couple of abstract methods
   .....
}

public class ClassImpl extends GroupOne
{
   // Implement couple of abstract methods from GroupOne
}

public class AnotherClassImpl extends GroupTwo
{
   // Implement couple of abstract methods from GroupTwo
}

在我的例子中,interace和抽象类是作为库的一部分提供的。使用此库的应用程序需要编写扩展第二级抽象类的Impl类。 AbstractClass中的所有类都有一些共同的功能,然后组类中有一些特定于组的功能。

这是一个很好的设计吗?我问这个的原因是我几乎没有遇到涉及多个抽象类的类层次结构。

1 个答案:

答案 0 :(得分:2)

我认为这样的设计没有错。 ArrayList是具有两个抽象父类的最常用的类之一。使GroupOneGroupTwo部分接口的其他抽象方法扩展A接口可能很有用。