Grundlegende Konzepte der OOP und Datenstrukturen

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 5,04 KB

1. Objektorientierte Programmierung (OOP)

1. Objekt: Definition und Eigenschaften

Ein Objekt ist eine Entität mit einer Reihe von Eigenschaften oder Attributen (Daten) und einem Verhalten oder einer Funktionalität (Methoden), die es ermöglichen, auf bestimmte Ereignisse zu reagieren. Es entspricht realen Objekten in unserer Umgebung oder internen Systemobjekten (im Programm). Ein Objekt ist eine Instanz einer Klasse.

2. Methode: Funktionalität eines Objekts

Eine Methode ist ein Unterprogramm, das ausschließlich einer Klasse oder einem Objekt zugeordnet ist. Sie ist definiert als eine Reihe von Aktionen, die ein Objekt ausführen kann, um einen bestimmten Zweck zu erreichen. Methoden stellen den dynamischen Teil eines Objekts dar und werden häufig verwendet, um dessen Eigenschaften zu ändern. Durch die Modifikation einer Eigenschaft ändert sich das Erscheinungsbild des Objekts, was eine Veränderung erzeugt, die der Benutzer der Anwendung wahrnehmen kann.

3. Eigenschaften (Attribute)

Eigenschaften (Attribute) sind die beobachtbaren Merkmale eines Objekts. Sie beschreiben das Aussehen und den Zustand eines Objekts, die auf einem bestimmten Niveau messbar sind. Jede Eigenschaft muss einen Wert besitzen, der zur eindeutigen Identifizierung des Objekts beiträgt.

4. Polymorphismus

Polymorphismus (Vielgestaltigkeit) bezeichnet die Fähigkeit verschiedener, von einem Vorgänger abgeleiteter Klassen, auf denselben Methodenaufruf unterschiedlich zu reagieren.

5. Vererbung (Inheritance)

Ein Objekt erbt von einem anderen, wenn es alle dessen Eigenschaften und Methoden besitzt und auf alle dessen Ereignisse reagiert, aber zusätzlich eigene Eigenschaften, Methoden und Ereignisse haben kann. Vererbung ist die Funktion, durch die Objekte voneinander abgeleitet werden.

6. Kapselung

Kapselung (Encapsulation) ist die Eigenschaft von Objekten, interne Implementierungsdetails zu verbergen. Dadurch wird sichergestellt, dass der Informationsgehalt eines Objekts vor der Außenwelt geschützt ist.

7. Nachrichtenübermittlung (Message Passing)

Eine Nachricht (Botschaft) ist im Wesentlichen ein Auftrag, der an ein Objekt gesendet wird, um dieses zur Ausführung einer Aktion aufzufordern. Eine Meldung wird auch als die vollständige Information definiert, die von einem Sender-Objekt an ein Empfänger-Objekt übermittelt wird. Eine Meldung besteht aus drei Elementen:

  1. Das empfangende Objekt.
  2. Die Art des Ereignisses (oder der aufzurufenden Methode).
  3. Notwendige Daten für den Empfänger.

Wenn ein Ereignis eintritt, weiß das empfangende Objekt, welches Sender-Objekt das Ereignis ausgelöst hat und welche Daten damit verknüpft sind.

8. Klassen und Familien

Objekte sind in klar definierten Klassen (oder Familien) organisiert. Eine Klasse vereint eine Gruppe von Objekten, die gemeinsame Elemente erben. Im Modell der visuellen Programmierung ist eine Klasse die Menge aller Objekte, die zu einer Familie gehören.

9. Instanzierung

Eine Instanz ist ein erzeugtes Objekt, das zu einer Klasse gehört (man spricht von der Instanziierung der Klasse). Das erstellte Objekt übernimmt die Attribute, Eigenschaften und Methoden der Klasse, zu der es gehört.

2. Fundamentale Datenstrukturen

10. Der Baum

Ein Baum ist eine weit verbreitete Datenstruktur, die die Form eines Baumes (eine Reihe von verbundenen Knoten) nachahmt.

11. B-Bäume (Datenbank-Optimierung)

B-Bäume sind Baum-Datenstrukturen, die häufig in Implementierungen von Datenbanken und Dateisystemen verwendet werden. Sie sind Suchbäume, bei denen jeder Knoten mehr als zwei Kinder haben kann.

12. Binärer Baum

Ein Binärer Baum ist eine Datenstruktur, bei der jeder Knoten maximal zwei Kinder haben kann (ein linkes und ein rechtes Kind). Daher der Name "binär". Wenn ein Kind einen Verweis auf null hat (also keine Daten speichert), wird dies als externer Knoten bezeichnet. Andernfalls wird das Kind als interner Knoten bezeichnet.

13. Hashing und Hash-Funktionen

Hashing bezieht sich auf eine Funktion oder Methode, die einen fast eindeutigen Schlüssel (Hash-Wert) erzeugt, um Dokumente, Unterlagen, Dateien usw. zusammenzufassen oder Daten probabilistisch zu identifizieren. Ein Hash ist das Ergebnis dieser Funktion oder dieses Algorithmus. Eine fundamentale Eigenschaft des Hashing ist: Wenn zwei Hash-Ergebnisse unterschiedlich sind, müssen auch die beiden Eingaben, die diese Ergebnisse erzeugt haben, unterschiedlich gewesen sein. Es ist möglich, dass Schlüssel für verschiedene Objekte zum gleichen Ergebnis führen (Kollision), da die Palette der möglichen Schlüssel oft viel kleiner ist als die Menge der möglichen Objekte.

Verwandte Einträge: