那么,你有一个接口和一个抽象类,该抽象类实现了接口中的一部分方法。你还有一些继承自这个抽象类的类,并给出了抽象类未提供的方法的实现。
那么在这里有什么最佳实践?我谈论的是像以下问题:
1)应该由抽象类实现接口还是应该由其子类实现?每个类都应该吗?我认为只有抽象类应该实现接口。当然,所有类都可以实现接口,但这似乎是冗余的,因为抽象类的子类将“继承”接口,因为它们扩展了抽象类。
2)考虑到抽象类实现了接口的某些部分,它是否也应该声明未实现的抽象方法?在我看来,这是正确的,但从某种程度上说,这似乎是多余的,因为抽象类的子类将需要实现这些方法才能编译。
那么你对最佳实践的论据是什么?这个问题归结为:我们有一个接口定义了我们希望一些类做什么,我们有接口中定义的一部分方法来定义公共行为,我们有几种不同的方式来定义非公共行为。该如何布局最佳?