我有一些在子类型层次结构中具有相同“级别”的类。我需要为每个实例创建一个 ID,我通常通过拥有一个包含静态 long 的父类来做到这一点,我只是为子类的每个实例递增它。
75% 的子类型代码是相同的——这让我更喜欢使用抽象类(通过接口):
1) 我可以为 ID 创建者声明一个静态变量
2)我可以将代码放在父类中并在子类型中共享
这个对吗?我似乎很少使用接口。当子类型需要相同的方法但不同的实现时,以及当我不需要初始化要在子类型之间共享的属性(如 ID 创建者)时,我是否应该只使用接口?
同事们一直给我的印象是接口比继承更受欢迎。