我正在实现一组类和相应的接口,希望每个类都具有一组通用属性和一组专用属性,仅适用于该类。因此,我考虑按以下方式定义接口:
interface ICommon {...} // Members common to all widgets
interface IWidget1 {...} // specialized members of widget type 1
interface IWidget2 {...} // specialized members of widget type 2
我正在尝试选择接口中的继承还是类中的继承。具体而言,我可以像这样做:
interface IWidget1 : ICommon {...}
interface IWidget2 : ICommon {...}
class Widget1 : IWidget1 {...}
class Widget2 : IWidget2 {...}
...or like this...
class Widget1: ICommon, IWidget1 {...}
class Widget2: ICommon, IWidget2 {...}
有什么明显的理由支持任何一种方式吗?
更新:如果类必须是COM可见的,是否会影响答案?