Ond*_*cny 14
以下是两者的一些优点.
标记界面:
另一方面,属性:
它在很大程度上取决于特定应用程序的体系结构和设计,是否适合在特定情况下使用标记接口或属性.
几年前,在Java 5之前的时代,Java并不支持属性.因此,要"标记"类或接口以便在运行时检查它们,您将使用标记接口,这基本上是一个空接口,但您仍然可以检查是否可以将实例转换为此接口.
在.NET中,除了特殊用例(例如允许使用扩展方法)之外,不应使用标记接口,因为属性提供了使用元信息标记类(以及更多)的更好方法.Java 5和更新版本也是如此,其中引入了注释,应该使用它.
另外,检查接口要快得多,因为CLI是为此而设计的,并且具有操作码(就像c#:is/as一样).
检查属性需要反思; 慢得多.
虽然看起来虽然其他答案涵盖了大多数要点,但是:属性在可以传递给它们的值方面受到更多限制; 主要是原语和字符串.
归档时间: |
|
查看次数: |
2689 次 |
最近记录: |