0

I know that when a class extends another class, it will inherit all interfaces that it has implemented. In terms of best practices, does it make sense to declare again in subclass?

public interface LeggedCreature {
    public int getLegCount();
}

public abstract class Animal implements LeggedCreature {
    ...
}

public class Dog extends Animal {
    @Override public int getLegCount() { return 4; }
}

public class MutatedDog extends Dog {
    @Override public int getLegCount() { return 6; }
}

Does that make more sense, or does the version below makes more sense?

public class MutatedDog extends Dog implements LeggedCreature {
    @Override public int getLegCount() { return 6; }
}
Jai
  • 8,165
  • 2
  • 21
  • 52

0 Answers0