interface相关内容

如何使用 C++ 中的非虚拟接口习语来实现接口类?

在 C++ 中,接口可以由其方法是纯虚拟的类来实现. 这样的类可以是库的一部分,用于描述对象应该实现哪些方法才能与库中的其他类一起工作: class Lib::IFoo{上市:虚空方法()= 0;}; : class Lib::Bar{上市:无效的东西(Lib::IFoo &);}; 现在我想使用类Lib::Bar,所以我必须实现IFoo接口. 出于我的目的,我需要一整套相关的 ..
发布时间:2021-12-31 14:55:30 C/C++开发

使用接口 Typescript 扩展日期原型

我想在 javascript/typescript 中向 Date 原型添加一个 getWeekNumber 函数.我想用一个接口来做,因为否则我会得到一个错误,他不知道 getWeekNumber() 方法. 首先我尝试使用这样的标准日期界面: 接口日期{getWeekNumber(): 数字;} 这解决了 Date 的所有方法都无法再调用的问题. 我想知道有一种方法可以使用接口 ..
发布时间:2021-12-31 14:55:22 前端开发

循环继承和接口——A类不能实现B类接口而B类实现A接口

我有: 公共类 A 实现 BListener {公共接口 AListener {}}公共类 B 实现 AListener {公共接口 BListener {}} 所以,如果我理解正确,循环继承的发生是因为: 编译器去A并说“嘿,A实现了BListener,我们去找BListener吧!" 然后当它试图找到 BListener 时,它最终找到了 B,它说: “嘿,BListen ..
发布时间:2021-12-31 14:55:10 Java开发

错误信息:Collections 类型中的 sort(List) 方法不适用于参数 (ArrayList)

不断收到错误消息,但不知道为什么.无法获取使用 Collections.sort() 对列表进行排序的代码 这是我所拥有的.3个java文件. 接口文件. 公共接口 Comparable{public int compareTo(T other);} 类文件. 公共类Date实现Comparable{私人整数年;私人整数月;私人国际日;公共日期(整数月,整数日,整数年){this ..
发布时间:2021-12-31 14:54:59 Java开发

从 Java 类中提取接口的自动化方法

我有一组定义 API 的具体类,我想从 API 的实际实现中提取这些类的接口(即:本质上是类型层次结构和公共方法). 例如,如果 API 中的公共类之一是 public class Foo extends Bar {/* 一些我不关心的字段 */公共无效方法(){/* 这里实现 */}公共无效其他方法(){/* 实现在这里 */}/* 一些我不关心的非公共方法 */} 我想分解一个接口 ..
发布时间:2021-12-31 14:54:48 Java开发

Kotlin 接口上的 lambda 表达式

我正在将一个 Java 项目转换为 Kotlin,我很惊讶 Kotlin 中的接口使代码比 Java 中的代码更重. 示例:我想在 MyFragment 的 MainActivity 中设置 onBackPressListener. 文件 1:MainActivity,文件 2:MyFragment,文件 3:OnBackPressedListener(接口) Java 中的文件 ..
发布时间:2021-12-31 14:54:42 Java开发

你能在 Linq2Sql 类上实现一个接口吗?

我有一个名为 IAddress 的接口和一个名为 Address 的类,用于处理街道、城市、州/省、邮政编码和国家/地区.我有几个具有所有地址信息的 Linq2Sql 类,并希望实现接口 IAddress,并将其传递给 Address 的构造函数以加载属性值. 是否可以通过我为它创建的部分类来实现 Linq2Sql 类的实现和接口?提前致谢! 其他评论 在我的班级中,我有一个名为 ..
发布时间:2021-12-31 14:54:35 其他开发

有没有办法让 json.Unmarshal() 选择基于“类型"的结构类型?财产?

我有一些 JSON 格式: [{"类型": "汽车",“红色",“马力":85,“门":4}, {“类型":“飞机","颜色": "蓝色",“引擎":3}] 我有满足车辆接口的 car 和 plane 类型;我希望能够写: var v []vehiclee := json.Unmarshal(myJSON, &v) ...并让 JSON 用汽车和飞机填充我的车辆;相反(不出所料)我只是得到 ..
发布时间:2021-12-31 14:54:30 其他开发

限制到接口的泛型参数与仅使用接口之间的区别

这有什么区别: void MyMethod(IMyInterface 值){//...} 还有这个: void MyMethod(T value) where T : IMyInterface{//...} 解决方案 主要的功能区别是可以知道泛型方法内部的对象的实际类型.T 参数将包含在某些情况下可能有利的实际类型. 在非泛型情况下,您不能保证访问对象的基础类型.大多数类型您可以获 ..
发布时间:2021-12-31 14:54:20 C#/.NET

为什么类现在倾向于定义为接口?

去年的这 2-3 年,我看到的许多项目,例如 Cuyahoga 开源 C# CMS,倾向于将持久性和非持久性类定义为 Interface.为什么?有充分的理由吗?TDD?嘲讽?设计模式?... 解决方案 主要原因是这使得像 依赖注入更容易.这反过来又使软件具有更大的灵活性,并且可以更轻松地重用和重组现有代码.这有用的例子包括各种形式的单元测试(如你所提到的),但也包括大多数其他形式的“常规 ..
发布时间:2021-12-31 14:54:10 C#/.NET

TypeScript:尝试使用 string | 时,索引签名参数必须是“字符串"或“数字"数字

我正在尝试创建一个函数来规范化我的数组,它需要一个结构如下的输出对象: {allIds: [1],byId:{1:{...}}} 或 {allIds: ['1'],byId:{'1':{...}}} 我正在尝试创建一个名为 IOutput 的接口来满足此需求. 我已经试过了: interface IOutput {allIds: 字符串[] |数字[]byId:{[键:数字 |字符 ..
发布时间:2021-12-31 14:54:00 其他开发

如何在 Go 中实现抽象类?

如何在 Go 中实现抽象类?由于 Go 不允许我们在接口中有字段,这将是一个无状态对象.那么,换句话说,Go 中的方法是否可以有某种默认实现? 举个例子: type Daemon interface {开始(时间.持续时间)做工作()}func (daemon *Daemon) start(duration time.Duration) {股票代码:= time.NewTicker(持续时 ..
发布时间:2021-12-31 14:53:53 其他开发

意外隐式接口变量的神秘案例

我最近遇到了一些我无法解释也无法解释的行为,这些行为与 Delphi 接口变量有关. 本质上,它归结为编译器在 Broadcast 方法中生成的隐式接口变量. 在终止方法的结束语句中,尾声代码包含对 IntfClear 的两次调用.其中之一我可以解释,它对应于 Listener 局部变量.另一个我无法解释,它会在对象实例被销毁后将您带到 TComponent._Release(调试 D ..
发布时间:2021-12-31 14:53:36 其他开发

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

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

如何在多行 TextView 的末尾插入 ImageView?

也许这是一个愚蠢的问题,但我找不到在 TextView 的第二行末尾插入小图像的方法.图像总是出现在整个文本视图的右侧,而不是行尾. 我想插入这样的图片: TextTextTextTextTextTextTextTextText文本文本文本文本. 我得到的是: TextTextTextTextTextTextTextTextText 文本文本文本文本. 我希望有办法做到这 ..
发布时间:2021-12-31 14:53:12 移动开发

C#:如何实现 IOrderedEnumerable

我想实现一些不同的算法来练习,只是为了看看我到底有多糟糕并变得更好:p 无论如何,我想我会尝试使用 IEnumerable 和 IOrderedEnumerable 和其他 .Net 集合类型只是为了兼容(这样我以后可以更轻松地使用 write). 但除了使用 OrderBy 和 ThenBy 扩展方法之外,我找不到返回 IOrderedEnumerable 实例的方法.所以我想我必须 ..
发布时间:2021-12-31 14:53:04 C#/.NET

模拟“System.Console"行为

是否有通过针对接口而不是 System.Console 进行编程来使 C# 控制台应用程序可进行单元测试的标准方法? 例如,使用 IConsole 接口? 你做过吗,你用的什么方法? 当您的应用程序需要写入标准输出时,您是否公开了事件? 解决方案 我认为您使用界面的方法会奏效,但我认为我不会使用事件.假设应用程序不接受命令行参数以外的用户输入,我可能会使用这样的东西来包装 ..
发布时间:2021-12-31 14:52:56 C#/.NET

向接口添加属性可防止创建私有/受保护的“集合"在派生类型中?

编辑: 事实证明我遗漏了一些明显的问题,但我将这个问题悬而未决,以防其他人犯同样明显的错误.感谢指出这一点的人 见底部解释. 是否可以对覆盖接口属性的属性进行非公开设置? 也许我有一个愚蠢的时刻,但在我看来,在接口中定义一个属性意味着没有派生类可以为该属性提供任何非公共集. 示例: 接口 IField{bool IsValid { 获取;}} ... 并且由于接口属性可能没有 ..
发布时间:2021-12-31 14:52:51 C#/.NET

覆盖纯虚函数的参数数量

我已经实现了以下接口: template 类变量{上市:变量 (T v) : m_value (v) {}虚拟无效回调()= 0;私人的:T m_value;}; 一个合适的派生类可以这样定义: class Derived : public Variable{上市:派生 (int v) : Variable(五) {}无效回调(){}}; 但是,我想派生 Callback 接受不同参数的类 ..
发布时间:2021-12-31 14:52:40 C/C++开发