问题标签 [default-implementation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
13468 浏览

objective-c - 如何为 Objective-C 协议提供默认实现?

我想指定一个带有可选例程的 Objective-C 协议。当例程不是由符合协议的类实现时,我想使用默认实现来代替它。协议本身是否有一个地方可以定义这个默认实现?如果不是,那么减少到处复制和粘贴此默认实现的最佳做法是什么?

0 投票
3 回答
10896 浏览

c# - 您可以扩展 JSON.NET 中用于集合的默认 JsonConverter 吗?

我正在尝试为一个人将列表或集合子类化但随后向子类添加额外属性的情况编写自定义 JsonConverter(请参阅此处)。JSON.NET 的当前实现只是将列表更改为子对象数组并忽略所有添加的属性。所以我想写一个新的 JsonConverter 来处理对象,就好像它不是一个 List 一样,只是像往常一样序列化其他所有东西,然后在序列化中添加一个名为“_Items”的新属性,其中实际的数据数组是存储。

现在,我已经为我们的特定 List 子类编写了一个完全执行此操作的类,但是我必须一个接一个地手动指定所有属性。但是,如果我可以编写一个将其视为普通对象的转换器,然后手动处理这些项目,我会很高兴。我什至不在乎我是否最终会复制另一个课程的一半(甚至更多!),但我很乐意为这些案例制作一个可重复使用的转换器。但是,正如我所说,我找不到默认转换器开始。

所以……有人知道那在哪里吗?

0 投票
3 回答
1167 浏览

c# - 通用类自动创建具体类

有没有办法取接口,说:

请注意,我想要一个通用的 Create 方法来创建正确的运算符集,但我不知道该怎么做。

我想用它从这个方法中删除参数:

变成

谢谢你的帮助!主要是,我只是不想将 scalarOperator 对象传递给扩展方法,我更喜欢使用“默认值”,因为 ScalarOperators 不太可能针对定义的任何 T 进行更改。

0 投票
2 回答
3669 浏览

c++ - 这个赋值运算符后面的 & 是什么意思?

我正在阅读这个关于“五规则”的好答案,我注意到一些我不记得以前见过的东西:

放置在复制赋值运算符和移动赋值运算符&前面的字符的目的是什么?= default有人对此有参考吗?

0 投票
2 回答
1543 浏览

java - 默认接口方法的代码生成(在 IDEA 中)

在 JDK 8 之前,我会写:A implements B并点击alt+enter来自动生成方法的方法头,B所以我只需要填写方法体。

然而,在 JDK 8 中,它可能B提供了一个default实现,但这不再起作用了。

在这种情况下,我怎样才能生成代码?

我正在使用 IntelliJ IDEA 12。

0 投票
1 回答
643 浏览

xml - 在同一个 Java VM 上使用不同的 DocumentBuilder 实现

我知道这个问题已经被问过了,但是风格不同,所以我再次从我的 POV 中问。

在我们的应用程序服务器中存在多个 EJB(因此,AFAIK,多个线程,一个用于每个 EJB 调用)。一些 EJB,为了正常运行,需要 DocumentBuilder 工厂来生成 xerces 实例,一些 EJB 需要 crimson 实例。

目前,选择强制 xerces 作为默认值,因此 xerces 类被注入到适当的 System.property 中,它是全局的。

据我所知,DocumentBuilder 类首先查找 System.property,然后在 JRE 文件夹中查找属性文件,然后再次在 JAR/Services 中查找属性文件。

为了隔离需要 crimson 工作的库,我编写了一个自定义类加载器,因此它们的 jar 不在类路径中,我可以确定“套件”的其他部分是健全的并且不受干扰。

但是,即使我隔离了这些 jar,它们也会利用 DocumentBuilder,它会像前面所说的那样寻找实现。如果我在调用库所需的严格时间更改 System.property,我会冒其他 EJB 崩溃的风险,因为它们没有得到正确的实现。

我还尝试编写一个假 DocumentBuilder 类来根据调用线程切换 newInstance 结果,但这不起作用(太糟糕了,被调用的库通过捕获原始异常来掩盖异常并通过仅获取原始消息来抛出新异常,这不足以说明问题)

我正在寻找一种在线程级别隔离属性更改的方法,但无法弄清楚。

有什么想法吗?谢谢!

0 投票
3 回答
99185 浏览

java - 接口方法可以有主体吗?

我知道接口就像一个 100% 纯抽象类。所以,它不能有方法实现。但是,我看到了一个奇怪的代码。谁能解释一下?

代码片段:

编辑:

我的 IDE 是 Intellij Idea 13.1。项目 SDK 为 java 7 <1.7.0_25>。IDE 未显示任何编译器错误。但是,当我在命令行编译代码时,我收到以下消息。

0 投票
3 回答
430 浏览

c++ - 将模板成员函数的专业化定义(没有默认主体)放在源文件中是否安全?

这就是我的意思:

-

-

这完全没问题,对吧?

我开始怀疑这一点,因为我刚刚遇到了这个specialization of '...' after instantiation错误,这对我来说是新的。所以,我“解决”了这个错误,现在一切似乎都很好,但仍然......

这是定义明确的行为吗?


编辑:对于非成员模板函数(前向声明的非成员模板函数)也是如此。

0 投票
1 回答
202 浏览

java-8 - 聚合操作和方法之间有什么区别?

…………

好吧,让我告诉你我犯了一些错误:我所指的 foreach() 不是聚合操作,而是来自 Iteable 的方法。我更改了问题的标题及其内容。

我的兴趣是知道默认情况下是否实现了聚合操作以及在哪里可以找到该实现。

0 投票
1 回答
694 浏览

swift - 如何为 UIPageViewControllerDataSource 提供默认实现?

我假设这个问题的答案通常会解决 Objective-C 协议的问题,但这是我遇到的第一个此类问题。

我希望在实现UIPageViewControllerDataSourceWithConnections时使用这些方法。

但是,这不会编译。我必须实施这种废话才能使事情正常进行。你能告诉我为什么吗?是否有可用的代码更轻的解决方案?