我是C#的粉丝,但我想这是一般的OOP问题:
在下面显示的代码中,重新指定class B
实现interface I
是否有任何意义?
interface I { }
class A : I { }
class B : A, I { }
据我所知,答案是否定的,除了可读性,如果一个类实现了许多接口,并且你想在声明该类时强调一个特定的接口。
答案 0 :(得分:3)
不,没有。事实上,当你继续重新声明接口时,特别是当继承链变大时,它会变得有点混乱。如果您想强调一个类实现一个重要的接口,也许一种方法是在该类的注释中的摘要字段中添加信息,以便显示工具提示。
答案 1 :(得分:0)
除了泛型约束之外没有任何意义,即(可能是错误的语法,但你会明白 - 我认为(从内存中)约束有一些关于继承和应用约束的特性)
public T MethodName(T gen) where T : I
{
}
答案 2 :(得分:0)
不,实际上像ReSharper这样的工具会向您显示I
的第二个实现是多余的。