今天,我在采访中面临一个问题。是否可以在Singleton类上应用继承概念?我说过,由于构造函数是私有的,因此我们无法扩展该Singleton类。
他问我的下一件事是将继承应用于该Singleton类。因此,我将Singleton的构造函数作为受保护对象,认为孩子的构造函数也已受到保护。但是我错了,孩子可以有一个等于或大于该值的修饰符。
因此,我请他在这种情况下举一个真实的例子。他没能给我一个电话,他说我不能问问题,要我说这种情况是否可能。
我有点空白。我的问题是
引用圣经:
单个实例应可通过子类扩展,并且客户应能够使用扩展实例而无需修改其代码,则应使用单例模式。 Singleton模式具有以下好处:[…] 3.允许改进操作和表示。Singleton类可能是子类,并且使用此扩展类的实例配置应用程序很容易。您可以在运行时使用所需的类的实例配置应用程序。
单个实例应可通过子类扩展,并且客户应能够使用扩展实例而无需修改其代码,则应使用单例模式。
Singleton模式具有以下好处:[…] 3.允许改进操作和表示。Singleton类可能是子类,并且使用此扩展类的实例配置应用程序很容易。您可以在运行时使用所需的类的实例配置应用程序。
至于如何实现这一点:这本书提出了几种方法,其中最复杂的是注册表,其中按名称查找实例。