Abstrakte Klassen und Interfaces
Sowohl abstrakte Klassen als auch Interfaces sind "Typvorlagen", die die
Schnittstelle all jener Klassen definieren, die von ihnen abgeleitet sind.
Interfaces sind vollständig abstrakte Klassen, d.h. ihre Methoden, Properties
und Indexer werden nur durch ihre Schnittstelle definiert, enthalten aber keinen
Code. Abstrakte Klassen können auch Methoden, Properties und Indexer enthalten,
für die Code angegeben ist. Eine Klasse darf nur von einer einzigen
(abstrakten) Klasse erben, darf aber mehrere Interfaces implementieren.
Mit Interfaces kann man daher die Kompatibilität einer Klasse zu mehreren
anderen Typen modellieren. Während (abstrakte) Klassen für Codevererbung
benutzt werden, werden Interfaces zur Typvererbung verwendet.
|