Was ist ein Interface in der Programmierung?
Eine Schnittstelle (englisch interface) gibt in der objektorientierten Programmierung an, welche Methoden in den unterschiedlichen Klassen vorhanden sind oder vorhanden sein müssen.
Warum können Interfaces keine privaten private Attribute oder Methoden haben?
Alle Methoden eines Interfaces sind (implizit) public, d.h. private und protected sind ver- boten. Alle Methoden eines Interfaces sind (implizit) abstract • Ein Interface darf nur Attribute haben, die static und final sind. Ein Interface ist nicht instanziierbar und darf keinen Konstruktor haben.
Was ist die Schnittstelle einer Klasse?
Alle public -Member einer Klasse stellen gemeinsam die Schnittstelle einer Klasse dar. Eine Interface-Deklaration definiert genau eine solche Schnittstelle. Wozu dieser zusätzliche Schritt? Eine Klasse kann mehrere Interfaces implementieren, d.h., Objekte der Klasse können unter verschiedenen Typen (Interfaces sind auch Typen) auftreten.
Welche Schnittstellen sind bekannt?
Bekannte Schnittstellen sind z.B. IFormattable, IComparable oder IDisposable. Die Klassen, welche diese Schnittstellen implementieren, stellen dadurch Methoden zur Verfügung, um eine String -Repräsentation des Objekts bereitzustellen, um Objekte zu vergleichen oder um eine gezieltere Freigabe von Ressourcen zu ermöglichen.
Welche Schnittstellen besitzen Konstruktoren und Destruktoren?
Schnittstellen besitzen keine Konstruktoren und Destruktoren. Es ist aber möglich, eine Variable vom Typ einer Schnittstelle zu deklarieren. Dieser können Instanzen von Klassen zugewiesen werden, welche die Schnittstelle implementieren (das gleiche Konzept finden Sie bei abstrakten Klassen wieder).
Wie wird eine Interface-Deklaration eingeleitet?
Eine Interface-Deklaration wird über das Schlüsselwort interface eingeleitet. Optional können Sie die Modifizierer public und internal verwenden. Danach folgt der Schnittstellenname, dem standardmäßig der Buchstabe ( I) vorangestellt wird und der sich ansonsten an die Vorgaben für Bezeichner halten muss.