タグ付けされた質問 「interface」

インターフェースは、コンポーネントとの相互作用の指定されたポイントを指します。インターフェイスは、ハードウェアレベルとソフトウェアレベルの両方で適用できます。---これは、Java、C#、および同様の言語での単一継承の唯一の例外である、言語要素の「インターフェース」も指します。

7
インターフェースが別のインターフェースを実装できないのはなぜですか?
つまり、 interface B {...} interface A extends B {...} // allowed interface A implements B {...} // not allowed 私はそれをグーグルで調べて、これを見つけました: implementsインターフェイスのメソッドの実装を定義することを示します。ただし、インターフェースには実装がないため、これは不可能です。 ただし、インターフェイスは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
「<type>はインターフェースではなくインターフェースへのポインタです」混乱
仲間の開発者各位 私には少し奇妙に思えるこの問題があります。次のコードスニペットをご覧ください。 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 …
102 pointers  go  interface 

10
Rubyで同等のJavaインターフェースとは何ですか?
Javaで行うようにRubyでインターフェースを公開し、Rubyモジュールまたはクラスがインターフェースで定義されたメソッドを実装するように強制できますか? 1つの方法は、継承と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のみが存在することを読みました。そのため、オブジェクトが型xであることがコンパイラに通知されるだけなので、...間違っていますか?型安全性を実施および確保するための正しい方法は何ですか?

7
インターフェースのすべてのフィールドが暗黙的に静的で最終的なのはなぜですか?
インターフェイスで定義されているすべてのフィールドが暗黙的である理由を理解しようstaticとしていfinalます。フィールドを保持staticするという考えは、インターフェイスのオブジェクトを保持できないので私には理にかなっていますが、なぜそれがfinal(暗黙的に)あるのでしょうか。 Javaの設計者がインタフェースのフィールドを作るといった理由いずれかが知っているstaticとfinal?

6
C#の配列はどのようにIList <T>を部分的に実装しますか?
ご存じかもしれませんが、C#の配列はIList&lt;T&gt;、他のインターフェイスの中でも特に実装されています。どういうわけか、彼らはIList&lt;T&gt;!のCountプロパティを公に実装せずにこれを行います。配列にはLengthプロパティのみがあります。 これは、インターフェイスの実装に関する独自のルールを破るC#/。NETの露骨な例ですか、それとも何か不足していますか?
99 c#  .net  arrays  list  interface 

13
インターフェイス内の内部クラス
インターフェイス内に内部クラスを作成することは可能ですか?インターフェイスオブジェクトを作成しないので 、なぜそのような内部クラスを作成したいのでしょうか。 これらの内部クラスは開発プロセスに役立ちますか?


8
Javaのデフォルトキーワードの目的は何ですか?
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
デフォルトのメソッドを持つインターフェースはいつ初期化されますか?
この質問に答えるために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 …

4
インターフェース定義でゲッター/セッターを使用することは可能ですか?
現時点で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; } インターフェイス定義でゲッターとセッターを使用できる他の方法はありますか?

9
構造体がインターフェースを実装するのは安全ですか?
構造体がC#を介してCLRにインターフェイスを実装するのがいかに悪いかについて何かを読んだことを覚えているようですが、それについては何も見つからないようです。悪いですか?そうすることの意図しない結果はありますか? public interface Foo { Bar GetBar(); } public struct Fubar : Foo { public Bar GetBar() { return new Bar(); } }
93 c#  interface  struct 

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!」のオブジェクトが返されると思います。最終的には。また、インポートからinitを取得する必要があります。 Python3.1を想定します ありがとう

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 

8
インターフェイスに静的メソッドを実装するにはどうすればよいですか?
C#から呼び出すサードパーティのC ++ DLLがあります。 メソッドは静的です。 ユニットテストを行うために抽象化したいので、静的メソッドを含むインターフェイスを作成しましたが、プログラムで次のエラーが発生します。 修飾子「static」はこのアイテムには無効です MyMethod cannot be accessed with an instance reference; qualify it with a type name instead どうすればこの抽象化を実現できますか? 私のコードは次のようになります private IInterfaceWithStaticMethods MyInterface; public MyClass(IInterfaceWithStaticMethods myInterface) { this.MyInterface = myInterface; } public void MyMethod() { MyInterface.StaticMethod(); }
91 c#  .net  interface 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.