问题标签 [interface]

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 投票
1 回答
811 浏览

.net - .NET 接口

在过去的几年里,我已经从拥有一长串隐藏/显示的控件页面变为使用大量用户控件。我总是在同事之间就最佳实践进行一些讨论。

您是否应该拥有要填充的属性,或者使用参数化的子组件来加载控件中的信息?

我对使用参数的部分恐惧是因为我无法确保所有内容都会被填充。

使用接口的基本规则是什么?我从来没有创造过。我应该试试这个,还是继续使用“子负载”

0 投票
2 回答
2379 浏览

php - 使一个接口覆盖它从 PHP 中的另一个接口继承的方法

PHP中有没有一种方法可以覆盖扩展该接口的接口中的一个接口声明的方法?

这个例子:

我可能做错了什么,但这是我所拥有的:

通常在 PHP 中,当您扩展某些内容时,您可以覆盖其中包含的任何方法(对吗?)。但是,当一个接口扩展另一个接口时,它不会让您这样做。除非我想错了……当我实现 iShipper 接口时,我不必让 Shipper 对象扩展 Vendor 对象(实现 iVendor 接口)。我只是说:

并使 FedEx 实现 iVendor 和 iShipper 的所有方法。但是,我需要__constructiVendor 和 iShipper 中的功能是独一无二的。我知道我可以取出$shipment = null,但是创建 Shippers 就不那么方便了(只需在实例化时传入 vendor_no 和货件)。

任何人都知道如何使这项工作?我的后备方案是在实例化后必须通过调用$shipper->setShipment($shipment);Shipper 来设置发货,但我希望有一种方法可以绕过必须这样做......

对好奇的人进行更多解释:
FedEx 对象具有访问 FedEx 站点(使用 cURL)并获取相关货件的估计值的方法。我有一个 UPS 对象、一个 BAXGlobal 对象、一个 Conway 对象等。每个对象都有完全不同的方法来实际获取运费估算,但系统需要知道的是它们是“托运人”,并且列出的方法接口可以在它们上调用(因此它可以完全一样地对待它们,并在“托运人”数组中循环遍历它们,调用getTransitX()以找到货物的最佳托运人)。

虽然每个“托运人”也是一个“供应商”,并且在系统的其他部分(获取和放入数据库等)中都被视为这样。我们的数据设计是一堆废话,所以联邦快递与像这样的公司一起存储“供应商”表中的 Dunder Mifflin,这意味着它可以拥有所有其他供应商的所有属性,但需要 iShipper 提供的额外属性和方法)。

0 投票
9 回答
36172 浏览

c# - C# 接口的非公共成员

在 C# 中,当您实现一个接口时,所有成员都是隐式公共的。如果我们可以指定可访问性修饰符(protected, internal,当然除了private)不是更好,还是应该只使用抽象类?

0 投票
15 回答
99570 浏览

php - PHP中的接口有什么意义?

接口允许您创建定义实现它的类的方法的代码。但是,您不能向这些方法添加任何代码。

抽象类允许您做同样的事情,以及向方法添加代码。

现在如果你可以用抽象类实现同样的目标,为什么我们还需要接口的概念呢?

有人告诉我,它与从 C++ 到 Java 的 OO 理论有关,这是 PHP 的 OO 东西所基于的。这个概念在 Java 中有用但在 PHP 中没有用吗?这只是一种避免在抽象类中乱扔占位符的方法吗?我错过了什么吗?

0 投票
14 回答
105449 浏览

java - 为什么我不能在接口中声明静态方法?

该主题说明了大部分内容-无法在接口中声明静态方法的原因是什么?

上面的代码给了我以下错误(至少在 Eclipse 中):“接口方法 ITest.test() 的非法修饰符;只允许公共和抽象”。

0 投票
10 回答
4055 浏览

c# - 对于实现接口的类型,你怎么能要求一个没有参数的构造函数呢?

有办法吗?

我需要所有实现特定接口的类型都有一个无参数的构造函数,可以做到吗?

我正在为我公司的其他开发人员开发基本代码,以便在特定项目中使用。

有一个过程将创建执行某些任务的类型实例(在不同的线程中),我需要这些类型遵循特定的合同(ergo,接口)。

该接口将在程序集内部

如果您对这种没有接口的场景有建议,我很乐意考虑...

0 投票
11 回答
646 浏览

interface - 了解接口

我有一个类方法,它返回一个我可以遍历的员工列表。返回列表的最佳方式是什么?通常我只返回一个 ArrayList。但是,据我了解,界面更适合这种类型的操作。哪个是最好的界面?另外,为什么返回一个接口而不是实现(比如 ArrayList 对象)更好?对我来说,这似乎还有很多工作。

0 投票
5 回答
2337 浏览

naming-conventions - 接口和版本控制

我正在设计一个新系统,并且我有很多接口会随着系统的推移而增长。命名此接口的最佳做法是什么

我这样做

那么我必须添加方法2所以现在我该怎么办?

还是其他方式?

0 投票
4 回答
3800 浏览

python - Wacom tablet Python interface

If possible I want to catch pressure sensitive input from a Wacom tablet in Python. Are there any Python libraries available that can do this?

0 投票
16 回答
2757 浏览

language-agnostic - 为什么大多数系统架构师都坚持首先对接口进行编程?

我读过的几乎每一本 Java 书籍都谈到了使用接口作为在对象之间共享状态和行为的一种方式,这些对象在第一次“构造”时似乎并不共享关系。

然而,每当我看到架构师设计应用程序时,他们做的第一件事就是开始对接口进行编程。怎么会?您如何知道将在该接口中发生的对象之间的所有关系?如果您已经知道这些关系,那么为什么不扩展一个抽象类呢?