interface相关内容

Java中的多态性和接口(多态性可以用来实现接口……为什么?)

在现实世界中,人们用它来做什么(解决什么类型的问题)?我可以看到这些一起工作的一些示例代码吗?我只能找到关于猫和狗说话或人们喝牛奶或咖啡的代码...... 人们真的用接口实现多态吗?干什么用的? 解决方案 当然, 以下是“观察者"模式的具体示例,使用类和接口来完成记录器系统中的多态行为: 接口 ILogger{公共无效句柄事件(字符串事件);}类 FileLogger 实现 ..
发布时间:2022-01-24 16:08:44 Java开发

多态性:为什么要使用“List list = new ArrayList"?而不是“ArrayList list = new ArrayList"?

可能重复: 为什么要首选 Java 类的接口? 我应该什么时候使用 列表list = new ArrayList(); ArrayList 继承自 List,所以如果 ArrayList 中的某些功能不在 List 中,那么我会失去 ArrayList 的一些特性,对吧?并且编译器在尝试访问这些方法时会注意到错误? 解决方案 这样做的主要原因是将代码与接口的特定实现分离.当您像 ..
发布时间:2022-01-24 15:46:59 Java开发

如果从未通过它们进行修改,是否允许对实际 const 对象的引用进行 const 转换?

我有一个声明 const 和非常量成员函数的抽象类.为了便于讨论,假设它看起来像这样: 类记录接口{上市:虚拟 ~record_interface() = 默认值;虚拟 void set_foo(BoundedFloat) = 0;虚拟 BoundedFloat get_foo() const = 0;}; 这用作记录的高级表示,当保存到磁盘并通过线路传输时,该记录具有不同的表示.所以大多数实 ..
发布时间:2022-01-23 23:47:39 C/C++开发

设置 UDP 套接字的源 IP

我有一个绑定到 INADDR_ANY 的 UDP 套接字来监听我的服务器拥有的所有 IP 上的数据包.我正在通过同一个套接字发送回复. 现在服务器在发送数据包时会自动选择哪个IP作为源IP,但我希望能够自己设置传出源IP. 有什么方法可以做到这一点,而不必为每个 IP 创建单独的套接字? 解决方案 Nikolai,为每个地址使用单独的套接字和 bind(2) 或弄乱路由表通常不 ..
发布时间:2022-01-22 16:26:01 其他开发

数据源和数据集的区别

我目前正在从事一个项目,其主要任务是读取存储在 SQL 数据库中的数据并以用户友好的形式显示它们.使用的编程语言是C++.我在 Borland C++ Builder 6 环境中工作.但我认为标题中提出的问题与编程语言或库无关.从 db 读取数据时,我经常会在类名中遇到这些术语,但并不知道它们究竟代表什么.我知道它们充当存储在数据库中的数据的接口.但是为什么需要使用两个接口类而不是一个呢? ..
发布时间:2022-01-21 13:17:41 其他开发

为什么 Queue(T) 和 Stack(T) 没有实现 ICollection(T)?

在我问之前,让我得到一个明显的答案:ICollection 接口包含一个 Remove 方法来删​​除任意Queue 和 Stack 无法真正支持的元素(因为它们只能删除“结束"元素). 好的,我意识到这一点.实际上,我的问题并不是关于 Queue 或 Stack 集合类型;相反,它是关于不为 any 本质上是 T 值集合的泛型类型实现 ICollection ..
发布时间:2022-01-21 12:12:15 C#/.NET

如何在 Locals 窗口中获取实现接口的类的属性值?

这真的很困扰我并阻碍了我的开发/调试.每当我声明我正在实现的接口的变量类型时,Locals 窗口都不会显示它的属性值.相反,它只是读取 对象不支持该属性或方法 这很愚蠢,因为它确实如此.事实上,它必须履行与接口的合同. 如果我将变量声明为接口的具体实现,则窗口将按预期工作.然而,这完全违背了从一开始就对抽象进行编码的目的. 如何让本地窗口正确显示类的属性值? 最小、完 ..
发布时间:2022-01-20 21:13:18 其他开发

设计受 Yahoo Pipes 启发的界面

我非常喜欢 Yahoo Pipes 的界面 (http://pipes.yahoo.com/pipes/) 并且想为不同的问题创建一个类似的界面.是否有任何库可以让我创建具有相同基本外观的界面? 我特别喜欢管道的行为方式以及它们不只是直线的方式. 编辑:该应用程序将基于网络.我愿意使用 Flash 或 Javascript. 解决方案 WireIt 是一个开源的 javascr ..
发布时间:2022-01-18 22:18:59 其他开发

XCode 中将委托或协议的方法添加到 .m 文件的最有效方法是什么?

当在.Net 环境中实现一个接口(相当于Objective-C 中的一个协议)时,IDE 会自动将需要实现的属性和方法添加到类的文件中.是否存在会在 Xcode 环境中导致类似行为的设置?它会为代表做同样的事情吗? 此时,我发现自己正在从 Apple 的在线文档中复制/粘贴协议/委托的方法. 解决方案 抱歉迟到了,我使用这个巧妙的技巧. 例如,您的类名为“MyClass",您希 ..
发布时间:2022-01-18 12:31:05 其他开发

如何使用 UIImageRenderingModeAlwaysTemplate 防止粗体图像

我的应用程序有一个带有图像按钮的工具栏(UIButton 的子类);当用户打开“粗体文本"可访问性选项时,不仅文本变为粗体,图像也随之变为粗体. 这是正常模式下的工具栏: 启用“粗体"时: 这似乎是由我的 UIButton 子类引起的,它包含在下面.我正在使用此类在单击、禁用按钮等时应用图像色调颜色,并防止必须包含每个按钮的多个状态.为此,我使用 UIImageRendering ..
发布时间:2022-01-18 00:00:47 移动开发

在 Java 类中实现的具有相同方法签名的两个接口

我有两个 Java 接口和一个实现类. (我已经使用 Eclipse 直接运行程序,并且我没有尝试通过从命令行显式编译来检查任何编译器警告等.) 为什么它们可以毫无问题地运行?为什么 Java 允许这样做,即使它满足两个接口的“约定"但在实现类时会产生歧义? 更新了示例. 公共接口 CassettePlayer {无效播放();}公共接口 DVDPlayer {无效播放();} ..

iPhone dev - 手动旋转视图

如何使用 autoresizingMasks 手动旋转视图,就好像用户旋转了手机并且它已经自动旋转了一样.我也希望它是即时的,没有动画.我你想知道我为什么需要这个,看看我的另一个问题 iPhone Dev - 保持界面旋转. 谢谢!! 解决方案 你想要做的是使用仿射变换来旋转你的视图,虽然我现在没有代码在我面前,但我已经做到了.如果你做一个简单的旋转,你会发现你的视图会被切断,而不是 ..
发布时间:2022-01-16 14:54:09 移动开发

将 helpstring 属性应用于通过 COM 接口公开的 C# 属性

我目前正在开发一个库,该库将公开给 COM,以便在升级的旧项目中使用.我正在创建要公开的接口,它们具有 long、int 等类型的属性.使用 DescriptionAttribute,我可以获得在 .tlb 中为接口、类和方法生成的帮助字符串,但由于某种原因,它似乎不想为属性工作.无论如何要获得在 TLB 输出中为属性生成的帮助字符串吗? 解决方案 你必须将属性分别放在getter和set ..
发布时间:2022-01-14 12:02:36 C#/.NET

Fortran 的“抽象"之间的区别和“正常"接口

我试图理解抽象接口和“普通"接口之间的区别.是什么让接口抽象?什么时候需要? 假设下面的例子 模块 abstract_type_mod隐式无类型,抽象 :: abstract_t包含程序(abstract_foo),通过,延迟 :: Foo端型界面子程序 abstract_foo ( this, a, b )导入 :: abstract_t隐式无类(abstract_t),意图(in):: ..
发布时间:2022-01-14 09:38:53 其他开发

接口应该放在单独的包中吗?

我是一个团队的新手,该团队正在处理一个相当大的项目,其中包含许多组件和依赖项.对于每个组件,都有一个 interfaces 包,用于放置该组件的公开接口.这是一个好习惯吗? 我通常的做法是接口和实现放在同一个包中. 解决方案 把接口和实现都放在一个普通的地方,好像没有问题. 以 Java API 为例——大多数类的接口及其实现都包含在同一个包中. 以 java 为例.ut ..
发布时间:2022-01-13 17:22:29 Java开发

如何使用后面的代码创建自定义注释

我想创建自己的自定义注释.我的框架是独立的 java 应用程序.当有人注释他的 pojo 类时,后面的“隐藏"代码将触发方法. 例如,今天在 Java EE 中,我们有 @MessageDriven 注释.当您使用 @MessageDriven 注释您的类并另外实现 MessageListener 接口时,会有一个后面的代码将触发 onMessage(Message msg).当消息从队列/ ..
发布时间:2022-01-13 10:16:06 Java开发