After doing a lot of reading and getting my head around inheritance, I came across a number of articles that say inheritance is pretty lackluster and interfaces are much better and I'm trying to get my head around it using some examples,
Here I have a scenario in a test automation framework which is structured as follows:
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 { }
Is this acceptable? Should I be using interfaces in this scenario? I am struggling to understand A) Why (if so) and B) When to do so, tho I guess if I figure A) out it will go a long way towards B).
Thank you for your time.