当前位置: 首页 > 面试题库 >

是否可以将继承应用于Singleton类?

崔博延
2023-03-14
问题内容

今天,我在采访中面临一个问题。是否可以在Singleton类上应用继承概念?我说过,由于构造函数是私有的,因此我们无法扩展该Singleton类。

他问我的下一件事是将继承应用于该Singleton类。因此,我将Singleton的构造函数作为受保护对象,认为孩子的构造函数也已受到保护。但是我错了,孩子可以有一个等于或大于该值的修饰符。

因此,我请他在这种情况下举一个真实的例子。他没能给我一个电话,他说我不能问问题,要我说这种情况是否可能。

我有点空白。我的问题是

  • 这可能吗?
  • 即使有可能,它有什么用?
  • 什么样的现实世界场景会要求这种用途?

问题答案:

引用圣经:

单个实例应可通过子类扩展,并且客户应能够使用扩展实例而无需修改其代码,则应使用单例模式。

Singleton模式具有以下好处:[…]
3.允许改进操作和表示。Singleton类可能是子类,并且使用此扩展类的实例配置应用程序很容易。您可以在运行时使用所需的类的实例配置应用程序。

至于如何实现这一点:这本书提出了几种方法,其中最复杂的是注册表,其中按名称查找实例。



 类似资料:
  • 问题内容: 在Node.js 4.2.1上运行以下代码时: 我收到以下错误: 我想知道是否有可能从ECMAScript 6类继承旧式JavaScript“类”?而且,如果可能的话,怎么办? 问题答案: 选择语法后,实际上并没有出路。 问题在于ES6中的继承是通过使用from的返回值对关键字进行后期初始化来完成的,该返回值是from 的构造函数,如with 。在当前“未初始化”的子实例上“应用”()

  • 问题内容: 我在寻找什么: 设置一个字符的一半样式的方法。(在这种情况下,一半字母是透明的) 我目前正在搜索并尝试过的内容(没有运气): 样式字符/字母一半的方法 使用CSS或JavaScript设置字符的样式 将CSS应用于字符的50% 以下是我尝试获取的示例。 为此是否存在CSS或JavaScript解决方案,还是我不得不诉诸图像?我宁愿不走图片路线,因为此文本最终会动态生成。 更新: 既然许

  • 阅读文档时,并不十分清楚。 我想要的是能够存储和检索简单的json文档。使用CloudSearch,似乎可以以SDF格式存储文档,然后搜索它们,但它只返回文档ID和指定字段的一小部分(我认为是200个字符)。 有没有一种方法来检索完整的文档ID只是使用CloudSearch?还是打算作为搜索和使用主存储服务的附加工具?

  • 本文向大家介绍String类可以被继承吗?相关面试题,主要包含被问及String类可以被继承吗?时的应答技巧和注意事项,需要的朋友参考一下 String类在声明时使用final关键字修饰,被final关键字修饰的类无法被继承。 接下来我们可以看一下String类的源代码片段:   为什么Java语言的开发者,把String类定义为final的呢? 因为只有当字符串是不可变的,字符串池才有可能实现。

  • 快速提问,我正在学习接口和继承。 这不是实际的代码,只是一个例子。假设我有抽象类“动物”。对马和犬类等组有一些继承。还有一个接口“宠物”。它将用于动物的不同子类。犬类“狗”的子类实现了接口“宠物”。因此“狗”的所有子类也实现了接口“宠物”,而不必在“狗”的每个子类上单独实现“宠物”,对吗?

  • 是否可以对域类(而不是域实例)应用ACL权限?我有一个场景,我想为一类用户提供对域对象完全CRUD的一揽子权限,而第二类用户必须有特定的ACL条目才能做到这一点。 当然可以将ACL条目与基于角色的权限混合来实现这一点,但是我觉得有一个更优雅的解决方案,除了实例级别之外,Spring ACL还可以在类级别上工作。 我正在查看微薄的Spring安全ACL留档和这个问题。