Strukturierte Programmierung vs. objektorientierte Programmierung
Objektorientierte Programmierung (OOP) und strukturierte Programmierung sind zwei Programmierparadigmen. Ein Programmierparadigma ist ein grundlegender Stil der Computerprogrammierung. Programmierparadigmen unterscheiden sich darin, wie jedes Element der Programme dargestellt wird und wie Schritte zum Lösen von Problemen definiert werden. Wie der Name schon sagt, konzentriert sich OOP auf die Darstellung von Problemen unter Verwendung realer Objekte und ihres Verh altens, während sich die strukturierte Programmierung mit der Organisation des Programms in einer logischen Struktur befasst.
Was ist strukturierte Programmierung?
Es wird angenommen, dass das Geburtsjahr der strukturierten Programmierung 1970 ist. Die strukturierte Programmierung wird als eine Teilmenge der imperativen Programmierung betrachtet. Ein strukturiertes Programm besteht aus einfachen Programmablaufstrukturen, die hierarchisch organisiert sind. Sie sind Reihenfolge, Auswahl und Wiederholung. Sequenz ist eine Reihenfolge von Anweisungen. Auswahl bedeutet die Auswahl einer Anweisung aus einer Reihe von Anweisungen basierend auf dem aktuellen Zustand des Programms (z. B. die Verwendung von if-Anweisungen) und Wiederholung bedeutet die Ausführung einer Anweisung, bis ein bestimmter Zustand erreicht ist (z. B. die Verwendung von for- oder while-Anweisungen). ALGOL, Pascal, Ada und PL/I sind einige der heute verwendeten strukturierten Programmiersprachen.
Was ist objektorientierte Programmierung?
In OOP liegt der Schwerpunkt darauf, über das zu lösende Problem in Bezug auf Elemente der realen Welt nachzudenken und das Problem in Bezug auf Objekte und ihr Verh alten darzustellen. Klassen zeigen die abstrakten Darstellungen von Objekten der realen Welt. Klassen sind wie Blaupausen oder Vorlagen, die ähnliche Elemente oder Dinge sammeln, die zusammen gruppiert werden können. Klassen haben Eigenschaften, die Attribute genannt werden. Attribute werden als globale und Instanzvariablen implementiert. Methoden in den Klassen repräsentieren oder definieren das Verh alten dieser Klassen. Methoden und Attribute von Klassen werden als Mitglieder der Klasse bezeichnet. Eine Instanz einer Klasse wird als Objekt bezeichnet. Daher ist ein Objekt eine Datenstruktur, die einem realen Objekt sehr ähnlich ist.
Es gibt mehrere wichtige OOP-Konzepte wie Datenabstraktion, Kapselung, Polymorphismus, Messaging, Modularität und Vererbung. Typischerweise wird die Kapselung erreicht, indem die Attribute privat gemacht werden, während öffentliche Methoden erstellt werden, die für den Zugriff auf diese Attribute verwendet werden können. Die Vererbung ermöglicht dem Benutzer, Klassen (sogenannte Unterklassen) von anderen Klassen (sogenannte Superklassen) zu erweitern. Polymorphie erlaubt dem Programmierer, ein Objekt einer Klasse anstelle eines Objekts ihrer Superklasse zu ersetzen. Typischerweise werden die in der Problemdefinition gefundenen Substantive direkt zu Klassen im Programm. Und ebenso werden Verben zu Methoden. Einige der beliebtesten OOP-Sprachen sind Java und C.
Was ist der Unterschied zwischen strukturierter Programmierung und objektorientierter Programmierung?
Der Hauptunterschied zwischen strukturierter Programmierung und OOP besteht darin, dass der Schwerpunkt der strukturierten Programmierung darin besteht, das Programm in eine Hierarchie von Unterprogrammen zu strukturieren, während der Schwerpunkt von OOP darin besteht, die Programmieraufgabe in Objekte zu zerlegen, die kapseln Daten und Methoden. OOP gilt als flexibler als strukturierte Programmierung, da OOP ein Programm in ein Netzwerk von Subsystemen aufteilt, anstatt das Programm in einer Hierarchie zu strukturieren. Auch wenn die Strukturierung eine gewisse Klarheit bietet, kann eine kleine Änderung an einem sehr großen strukturierten Programm zu einem Dominoeffekt führen, da mehrere Unterprogramme geändert werden müssen.