Abstrakte KlassenSowohl 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. |
||