Eine Schnittstelle bezieht sich auf den Interaktionspunkt zwischen Komponenten. Schnittstellen sind sowohl auf der Hardware- als auch auf der Softwareebene anwendbar.
Im Allgemeinen stellt eine Schnittstelle einen Vertrag offen, ohne die zugrunde liegenden Implementierungsdetails offenzulegen. In objektorientierter Programmierung definieren Schnittstellen abstrakte Typen, die das Verhalten offen legen, aber keine Logik enthalten. Die Implementierung wird durch die Klasse oder den Typ definiert, der die Schnittstelle implementiert.
Ich habe ein paar Klassen, die ich nicht ändern kann. Sie haben eine Eigenschaft Prop3 gemeinsam:
%Vor%
Nun möchte ich auf diese Eigenschaft zugreifen, ohne den Typ zu kennen. Ich dachte an ein Interface:
%Vor%
Dieser Code löst jedoch...
19.08.2016, 11:57
Ich versuche, F # in den Griff zu bekommen, und dabei konvertiere ich etwas C # -Code. Ich habe Probleme mit der Definition von Eigenschaften in einer Schnittstelle und ihrer Implementierung in einem Typ.
Betrachten Sie den folgenden Code:...
05.08.2015, 07:04
Was ist der Unterschied zwischen einer Klassenabstraktion und einem Object Interfaces in PHP? Ich frage, weil, ich sehe den Punkt nicht wirklich für beide, sie machen das gleiche! Also, was sind die Vorteile der Nachteile, die beide gegen den...
10.06.2010, 22:09
In einer Meteor-App, die Angular 2 verwendet, möchte ich einen benutzerdefinierten Datentyp erstellen, etwa so:
%Vor%
Ich möchte diesen benutzerdefinierten Typ dann in mehreren Dateien verwenden. Ich habe versucht, eine separate Datei namens...
21.11.2016, 12:43
Ich versuche Interfaces zu verstehen, damit ich sie in meinen Programmen implementieren kann, aber ich kann mir nicht vorstellen, wie ich sie benutzen soll.
Geben Sie mir auch einige von ihnen mit mehreren Vererbung in C #
18.12.2009, 18:20
Ich habe eine Klasse Foo , die die IFoo Schnittstelle implementiert. Ich habe eine Methode, die einen List<IFoo> als Parameter verwendet. Es kann jedoch nicht von List<Foo> in List<IFoo> konvertiert werden - das ü...
01.08.2011, 17:34
Durch das Erweitern einer Schnittstelle werden einfach zusätzliche Operationen hinzugefügt, die in beliebigen Implementoren definiert werden müssen, und bestehende Implementierungen können nicht getrennt werden (im Gegensatz zum Erweitern einer...
08.10.2010, 19:48
In meinem Code verwende ich eine kleine Datenspeicherklasse, die an verschiedenen Stellen erstellt wird. Um Speicherlecks zu vermeiden und Dinge zu vereinfachen, möchte ich die Referenzzählung verwenden, also tat ich
%Vor%
und entfernte alle...
23.04.2009, 10:10
Ich versuche, einige Klassen zu erstellen, die eine bestimmte Schnittstelle implementieren (in diesem Fall XYPlottable ) und eine Methode, die mit jeder Klasse umgehen kann, die diese Schnittstelle implementiert.
Bisher habe ich Folgendes (...
24.04.2011, 15:16
Wenn ich versuche, den folgenden Code zu kompilieren
%Vor%
Ich bekomme einen Fehler
%Vor%
Wenn ich private modifier lösche, kompiliert Code, aber ich möchte nicht, dass andere Klassen aus dem Paket dieses Feld sehen.
Warum erlaubt...
16.07.2015, 10:50