单例类的子类必须是单例类吗?

时间:2017-09-29 01:33:10

标签: design-patterns singleton gang-of-four

根据Gang of Four的设计模式,单例类可以有一个子类。

单例类的子类必须是单例类吗?

单例类可以有任意数量的子类吗?

感谢。

2 个答案:

答案 0 :(得分:1)

如果单身人士有一个子类,那么它似乎可能会违反单身人士的目的。如果有父母和孩子,怎么会有一个?

有一次我使用单例继承是父类是一个为多个单例提供非常通用功能的抽象类。每个子类本身都是一个具有一个实例的单例,父类是抽象的,实例为零。

答案 1 :(得分:-1)

没问题,单例类可以有一个子类。

class singleClass {
    ...
    getSingleton() // you can get singleton obj by this structure func
    ...
}

class subClass : singleClass {
    ...
   override getSingleton() // you can get sub singleton obj by this structure func
    subClass() // new obj
    ...
}

建议获取单个实例的相同界面