java何时选择接口或子类
所以,我有这个讲座,我正在准备考试。我必须编写代码,以便我的代码通过每个Junit测试。 有一件事我一直不知道怎么弄清楚,我应该在什么时候使用接口或子类
有人能告诉我如何根据Junit测试来决定使用哪个吗
我有一辆火车,里面有两种类型的火车:TGV和摆动式
另外,我知道测试名称明确表示subclass,但忽略这一点
公共级铁路路考{
@Test
public void testTrain() {
Train c1 = new Train("Regional");
assertEquals("Regional", c1.getName());
Train c2 = new Train("Intercidades");
assertEquals("Intercidades", c2.getName());
}
@Test
public void testSubclassesTrain() {
Train tgv = new TGV("Speeder");
assertEquals("Speeder", tgv.getNome());
Train pendular = new Pendular("Alfa Pendular");
assertEquals("Alfa Pendular", pendular.getNome());
}
# 1 楼答案
接口确保实现它的每个类都有相同的方法签名(命名和参数)。对于这些方法签名,每个类可能有完全不同的代码实现。它们不一定共享任何代码,尽管理论上它们可以
当你创建子类时,你可以拥有来自基类的共享代码。您还可以通过在方法中调用super([parameters])来构建基本功能。或者可以使用子类(protected、public等)范围内的基本方法中的现有功能
可能重复的When to implement an interface and when to extend a superclass?