Was ist die Basisklasse?
Eine Basisklasse, auch als Superklasse bezeichnet, ist ein Computerobjekt, das als Grundlage für einen oder mehrere abgeleitete Klassen fungiert. Jede Computersprache, die der Vererbung fähig ist, kann eine Basisklasse erstellen. Abhängig von ihrem genauen Typ können Basisklassen in der Initialisierung in der Lage sein oder nicht - ein Anfangswert zugewiesen, einem Objekt selbst zuzuweisen, aber sie geben jeder Klasse, die von ihnen erbt, immer eine Art gemeinsame Funktionalität. Die Anzahl der abgeleiteten Klassen oder Unterklassen, die Basisklassen haben können, ist nie eine Grenze, die jedoch je nach Computersprache eine Grenze für die Anzahl der Basisklassen geben kann, die eine abgeleitete Klasse haben kann. Sprachen, die es einer abgeleiteten Klasse ermöglichen, nur eine Basis zu haben, sollen eine einzelne Vererbung durchsetzen, während diejenigen, die es einer abgeleiteten Klasse ermöglichen, mehrere Basisklassen zu haben, die mehrere Vererbung verwenden. Das heißt, ein Objekt des Basisklassentyps kann hergestellt werden. Wenn ein Klassenbeispielist eine Basis für ein abgeleitete Klasse -Beispiel2, ein Objekt vom Typ Beispiel2 und ein Objekt vom Typ Beispiel können beide hergestellt werden. Ein Objekt vom Typ Beispiel kann nur durch explizit nach diesem Objekttyp erfolgen. Durch das Erstellen eines Objekts vom Typ Beispiel2 wird kein sekundäres Objekt des Typs vom Typ erstellt. In jedem Fall baut der erstellte Objekttyp nur eine Instanz von sich selbst auf.
abstrakte Basisklassen dagegen können nicht alleine initialisiert werden, was bedeutet, dass ein Objekt der Basisklasse nicht alleine hergestellt werden kann. Wenn ein Klassenbeispiel3 eine abstrakte Basis für ein abgeleitetes Klasse -Beispiel4 ist, kann nur ein Objekt vom Typ Beispiel4 erstellt werden. Auch wenn TYPE Beispiel4 Daten aus dem Typ Beispiel3 enthält, führt der Versuch, ein Objekt ausschließlich vom Typ Beispiel3 zu erstellen, zu einem Fehler. Diese Funktionalität kann zeitweise nützlich sein, insbesondere wenn Klasse Beispiel3 private Daten enthält, die eng reguliert werden sollten.
DepeIn der Sprache, in der es erscheint, kann eine Basisklasse leicht unterschiedliche Verhaltensweisen und deutlich unterschiedliche Namen haben. In Java® werden Basisklassen immer mit diesem Namen bezeichnet, während sie in C ++ je nach Struktur als virtuelle Klassen bezeichnet werden können. Die Unterschiede in Namen und Funktionalität im Hinblick auf die verwendeten Computersprachen implizieren zwar keine wesentlichen Unterschiede im Prinzip hinter den Klassen. Eine Basisklasse wird immer verwendet, um gemeinsame Funktionen und Daten für ihre abgeleiteten Klassen zu verkapulieren, unabhängig von der Sprache.