Questions tagged «interface»

接口是指与组件交互的指定点。接口在硬件和软件级别均适用。---它也指语言元素“接口”,这是Java,C#和类似语言中单继承的唯一例外。

7
为什么一个接口不能实现另一个接口?
我的意思是: interface B {...} interface A extends B {...} // allowed interface A implements B {...} // not allowed 我用谷歌搜索,发现了这个: implements表示定义接口方法的实现。但是接口没有实现,因此是不可能的。 但是,interface是100%抽象的类,抽象类可以实现接口(100%抽象的类)而无需实现其方法。将其定义为“接口”时会出现什么问题? 详细来说, interface A { void methodA(); } abstract class B implements A {} // we may not implement methodA() but allowed class C extends B { void methodA(){} …

2
“ <类型>是接口的指针,而不是接口”的困惑
亲爱的开发人员, 我遇到了这个问题,对我来说似乎有点奇怪。看一下这段代码: package coreinterfaces type FilterInterface interface { Filter(s *string) bool } type FieldFilter struct { Key string Val string } func (ff *FieldFilter) Filter(s *string) bool { // Some code } type FilterMapInterface interface { AddFilter(f *FilterInterface) uuid.UUID RemoveFilter(i uuid.UUID) GetFilterByID(i uuid.UUID) *FilterInterface } type FilterMap struct { mutex …
104 pointers  go  interface 

10
Ruby中的java接口等效什么?
我们可以像在Java中一样在Ruby中公开接口并强制Ruby模块或类来实现interface定义的方法吗? 一种方法是使用继承和method_missing来实现相同,但是还有其他更合适的方法吗?
101 ruby  interface 

3
将对象转换为TypeScript中的接口
我正在尝试将代码的内容从express(使用body-parser中间件)中的请求正文转换为接口,但这并没有强制类型安全。 这是我的界面: export interface IToDoDto { description: string; status: boolean; }; 这是我尝试进行转换的代码: @Post() addToDo(@Response() res, @Request() req) { const toDo: IToDoDto = &lt;IToDoDto&gt; req.body; // &lt;&lt;&lt; cast here this.toDoService.addToDo(toDo); return res.status(HttpStatus.CREATED).end(); } 最后,被称为的服务方法: public addToDo(toDo: IToDoDto): void { toDo.id = this.idCounter; this.todos.push(toDo); this.idCounter++; } 我可以传递任何参数,即使那些与接口定义不匹配的参数也可以,并且此代码可以正常工作。我希望,如果无法从响应主体到接口进行强制转换,那么将在运行时(如Java或C#)引发异常。 我已经读过在TypeScript中不存在类型转换,只有Type Assertion,所以它只会告诉编译器对象是type x,所以...我错了吗?强制执行并确保类型安全的正确方法是什么?


6
C#中的数组如何部分实现IList <T>?
如您所知,C#中的数组实现IList&lt;T&gt;了其他接口。尽管不知何故,他们没有公开实现Count的Count属性就这样做了IList&lt;T&gt;。数组只有Length属性。 这是C#/。NET违反其关于接口实现的规则的公然示例还是我遗漏了一些东西?
99 c#  .net  arrays  list  interface 

13
接口内的内部类
是否可以在接口内创建内部类? 如果可能的话,由于我们不打算创建任何接口对象,为什么还要创建一个内部类呢? 这些内部类在任何开发过程中都有帮助吗?


4
何时使用默认方法初始化接口?
当搜寻通过Java语言规范来回答这个问题,我学到的是 在初始化类之前,必须先初始化其直接超类,但不初始化由该类实现的接口。同样,在初始化接口之前,不会初始化接口的超级接口。 出于我自己的好奇心,我尝试了一下,并且未如预期的那样对接口InterfaceType进行了初始化。 public class Example { public static void main(String[] args) throws Exception { InterfaceType foo = new InterfaceTypeImpl(); foo.method(); } } class InterfaceTypeImpl implements InterfaceType { @Override public void method() { System.out.println("implemented method"); } } class ClassInitializer { static { System.out.println("static initializer"); } } interface InterfaceType { public …

8
Java中default关键字的目的是什么?
Java中的接口类似于类,但是接口的主体只能包含抽象方法,并且final字段(常量)。 最近,我看到一个问题,看起来像这样 interface AnInterface { public default void myMethod() { System.out.println("D"); } } 根据接口定义,只有抽象方法允许。为什么它允许我编译以上代码?default关键字是什么? 另一方面,当我尝试编写下面的代码时,它说 modifier default not allowed here default class MyClass{ } 代替 class MyClass { } 谁能告诉我default关键字的目的?只能在接口内部使用吗?与default(无访问修饰符)有什么区别?

4
在接口定义中可以使用getter / setter方法吗?
目前,TypeScript不允许在接口中使用get / set方法(访问器)。例如: interface I { get name():string; } class C implements I { get name():string { return null; } } 此外,TypeScript不允许在类方法中使用数组函数表达式:例如: class C { private _name:string; get name():string =&gt; this._name; } 我还有其他方法可以在接口定义上使用getter和setter吗?

2
如何在python中扩展类?
在python中如何扩展类?例如,如果我有 color.py class Color: def __init__(self, color): self.color = color def getcolor(self): return self.color color_extended.py import Color class Color: def getcolor(self): return self.color + " extended!" 但这是行不通的……我希望如果我在中工作color_extended.py,那么当我制作一个颜色对象并使用该getcolor函数时,它将返回带有字符串“ extended!”的对象。到底。另外它也应该从导入中获取初始化。 假设python 3.1 谢谢

9
结构实现接口安全吗?
我似乎还记得读过一些有关结构如何通过C#在CLR中实现接口的弊端,但是我似乎找不到任何东西。不好吗 这样做会有意想不到的后果吗? public interface Foo { Bar GetBar(); } public struct Fubar : Foo { public Bar GetBar() { return new Bar(); } }
92 c#  interface  struct 

3
接口中定义的方法的“默认”实现是什么?
在集合接口中,我找到了一个名为的方法removeIf(),其中包含其实现。 default boolean removeIf(Predicate&lt;? super E&gt; filter) { Objects.requireNonNull(filter); boolean removed = false; final Iterator&lt;E&gt; each = iterator(); while (each.hasNext()) { if (filter.test(each.next())) { each.remove(); removed = true; } } return removed; } 我想知道是否可以在接口中定义方法主体吗? 什么是default关键词,它是如何工作的?
91 java  interface  java-8 

6
如何将委托添加到接口C#
我班上需要一些代表。 我想使用该界面“提醒”我设置这些委托。 如何? 我的课看起来像这样: public class ClsPictures : myInterface { // Implementing the IProcess interface public event UpdateStatusEventHandler UpdateStatusText; public delegate void UpdateStatusEventHandler(string Status); public event StartedEventHandler Started; public delegate void StartedEventHandler(); } 我需要一个接口来强制这些代表: public interface myInterface { // ????? }

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.