Als «interface» getaggte Fragen

Eine Schnittstelle bezieht sich auf den festgelegten Interaktionspunkt mit einer Komponente. Schnittstellen sind sowohl auf Hardware- als auch auf Softwareebene anwendbar. --- Es bezieht sich auch auf das Sprachelement `interface`, das die einzige Ausnahme zur Einzelvererbung in Java, C # und ähnlichen Sprachen darstellt.



11
Konstruktor in einer Schnittstelle?
Ich weiß, dass es nicht möglich ist, einen Konstruktor in einer Schnittstelle zu definieren. Aber ich frage mich warum, weil ich denke, dass es sehr nützlich sein könnte. Sie können also sicher sein, dass einige Felder in einer Klasse für jede Implementierung dieser Schnittstelle definiert sind. Betrachten Sie beispielsweise die …
148 java  interface 


4
Warum sollte man eine Java-Schnittstellenmethode als abstrakt deklarieren?
Ich habe heute die Refactoring-Funktion "Pull-Schnittstelle" von Eclipse verwendet, um eine Schnittstelle basierend auf einer vorhandenen Klasse zu erstellen. Das Dialogfeld bot an, alle neuen Methoden der neuen Schnittstelle als "abstrakte" Methoden zu erstellen. Was wäre der Vorteil davon? Ich dachte, dass die Tatsache, dass Sie Schnittstellenmethoden als abstrakt deklarieren …

11
Wechseln Sie in die Schnittstellenimplementierung in Eclipse IDE
Sie wissen, wie Sie in Eclipse durch Drücken F3einer Methode zu deren Deklaration gelangen? Nun, ich habe eine Methode, die Teil einer Schnittstelle ist. Wenn F3ich darauf klicke, komme ich natürlich zur deklarierenden Oberfläche. Offensichtlich gibt es ein Objekt, das diese Schnittstelle implementiert, und hier wird die Methode tatsächlich implementiert. …



3
C #: Abstrakte Klassen müssen Schnittstellen implementieren?
Mein Testcode in C #: namespace DSnA { public abstract class Test : IComparable { } } Führt zu folgendem Compilerfehler: error CS0535: 'DSnA.Test' does not implement interface member 'System.IComparable.CompareTo(object)' Da die Klasse Testeine abstrakte Klasse ist , warum benötigt der Compiler sie, um die Schnittstelle zu implementieren? Sollte diese …


5
Java8: Warum ist es verboten, eine Standardmethode für eine Methode aus java.lang.Object zu definieren?
Standardmethoden sind ein schönes neues Tool in unserer Java-Toolbox. Ich habe jedoch versucht, eine Schnittstelle zu schreiben, die eine defaultVersion der toStringMethode definiert. Java sagt mir, dass dies verboten ist, da in deklarierte Methoden java.lang.Objectmöglicherweise nicht defaultbearbeitet werden. Warum ist das so? Ich weiß, dass es die Regel "Basisklasse gewinnt …


9
Schnittstelle, Implementierung oder beides kommentieren?
Ich stelle mir vor, dass wir alle (wenn wir gestört werden können!) Unsere Schnittstellen kommentieren. z.B /// <summary> /// Foo Interface /// </summary> public interface Foo { /// <summary> /// Will 'bar' /// </summary> /// <param name="wibble">Wibble factor</param> void Bar(string wibble); } Kommentieren Sie auch die Implementierung (die auch Clients …
128 c#  java  comments  interface 

7
Warum kann eine abstrakte Klasse, die eine Schnittstelle implementiert, die Deklaration / Implementierung einer der Methoden der Schnittstelle übersehen?
In Java passiert etwas Merkwürdiges, wenn Sie eine abstrakte Klasse zum Implementieren einer Schnittstelle verwenden: Einige der Methoden der Schnittstelle können vollständig fehlen (dh es ist weder eine abstrakte Deklaration noch eine tatsächliche Implementierung vorhanden), aber der Compiler beschwert sich nicht. Zum Beispiel angesichts der Schnittstelle: public interface IAnything { …

1
Können Erweiterungsmethoden auf Schnittstellen angewendet werden?
Ist es möglich, eine Erweiterungsmethode auf eine Schnittstelle anzuwenden? (C # Frage) Damit soll beispielsweise Folgendes erreicht werden: Erstellen Sie eine ITopology-Schnittstelle Erstellen Sie eine Erweiterungsmethode für diese Schnittstelle (z. B. public static int CountNodes (diese ITopology topologyIf)). Wenn Sie dann eine Klasse (z. B. MyGraph) erstellen, die ITopology implementiert, …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.