Java 在这种情况下,我应该使用继承还是接口?
在做了大量的阅读并了解了继承之后,我发现了一些文章说继承非常平淡,接口也更好,我正试图通过一些例子来了解它 这里我有一个测试自动化框架中的场景,其结构如下:Java 在这种情况下,我应该使用继承还是接口?,java,inheritance,interface,Java,Inheritance,Interface,在做了大量的阅读并了解了继承之后,我发现了一些文章说继承非常平淡,接口也更好,我正试图通过一些例子来了解它 这里我有一个测试自动化框架中的场景,其结构如下: public abstract class BaseIntegrationTest { } public abstract class BaseEducationIntegrationTest extends BaseIntegrationTest { } public class EducationTeacherTest extend
public abstract class BaseIntegrationTest { }
public abstract class BaseEducationIntegrationTest extends BaseIntegrationTest { }
public class EducationTeacherTest extends BaseEducationIntegrationTest { }
public class EducationStudentTest extends BaseEducationIntegrationTest { }
public class EducationTeacherSuite extends EducationTeacherTest { }
这可以接受吗?我应该在这个场景中使用接口吗?我正在努力理解A)为什么(如果是)和B)什么时候这样做,但我想如果我弄明白A)会对B)有很大帮助
谢谢您的时间。在这种情况下,您可以问自己两个问题:
- 所有测试是否都有一些共同的行为和/或状态?如果是,则将
设为抽象类,并向其中添加公共状态(字段)和行为(方法)BaseIntegrationTest
- 特定测试是否需要继承其他测试?如果是,请将
设置为接口,因为不允许多重继承BaseIntegrationTest