Das .NET Common Programming Model (CPM)

Inheritance

Bei der OOP wird eine Klasse, die von einer anderen Klasse abgeleitet ist, Kindklasse genannt. Inheritance heißt, dass eine Kindklasse von seiner „Elternklasse“ Eigenschaften „erben“ kann. Bei einem Code bedeutet Inheritance, dass, wenn Sie eine Klasse mit dem Namen Automobil erstellen und ihr Methoden wie MotorStarten und LichtAnschalten sowie Objekte wie Motor und Klimaanlage verleihen, alle von der Automobil-Klasse abgeleiteten Objekte diese anderen Objekte und Methoden „erben“ könnten. Sie könnten Objekte erstellen, die von der Automobil-Klasse abgeleitet sind, wie z. B. MeinAuto, DeinAuto und SeinAuto.

Polymorphism

Polymorphism ist die Fähigkeit, sich über die ererbten Methoden einer Klasse „hinwegzusetzen“. Wenn Sie beispielsweise zwei von Automobil abgeleitete Klassen haben, eine mit Namen ManuellesGetriebe und eine andere mit Namen AutomatikGetriebe, werden Sie die Methode MotorStarten ändern wollen, um sicherzustellen, dass die Schaltung gegebenenfalls auf Parken oder Neutral steht.

Nun zu den eigentlichen Merkmalen der .NET-Umgebung:

Das Modell: System.Object

Das System.Object ist die grundlegende Definition eines jeden Objekts im .NET Framework. Alle anderen Objekte leiten sich von dieser einen grundlegenden Klasse ab. All diese Objekte müssen vier öffentliche Methoden bieten: Equals(), GetHashCode(), GetType() und ToString(). Betrachten wir nun jede Methode etwas näher.

Equals()

Mit der Equals()-Methode werden zwei Objekte verglichen. Sie gibt einen Booleschen Wert (wahr/falsch) zurück. Wenn Sie eine String-Klasse mit dem Text „Hallo“ mit einer StringBuilder-Klasse mit demselben Text vergleichen würden, würde der Wert „Falsch“ erzeugt. Wenn Sie dagegen zwei Klassen vergleichen, die beide demselben Typ angehören und den gleichen Wert aufweisen, ergibt diese Methode den Wert „Wahr“. Sie brauchen die Equals()-Methode in einer .NET-Klasse, um zu erkennen, ob eine bestimmte Instanz eines Objekts identisch wie eine andere ist.

GetHashCode()

Mit der GetHashCode()-Methode wird ein Exemplar eines Objekts eindeutig identifiziert. Diese Eindeutigkeit wird durch .NET gewährleistet, jedoch mit einem Haken: Wenn das von Ihnen verwendete Objekt Teil eines Arrays ähnlicher Objekte sein wird, werden Sie diese Methode außer Kraft setzen und Ihren eigenen Algorithmus verwenden müssen, um die Eindeutigkeit festzulegen. Sie brauchen einen Hash-Code, weil Sie so mehrere Instanzen Ihrer Klasse (z. B. „Kontakt“) in einer Kollektion sammeln können (z. B. „Kontakte“).

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

1 Kommentar zu Das .NET Common Programming Model (CPM)

Kommentar hinzufügen
  • Am 6. Oktober 2003 um 21:28 von Miro Houdek

    c#
    Vielen Dank für den sehr interessanten Artikel. Leider ist nicht möglich den Beispielcode (Listing A) zu sehen.
    Vielleicht können Sie mir ein Tip geben, wo ich Beispiele in Visual C# mir anschauen kann.
    Mfg
    Miro Houdek

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *