Objektorientierte Programmierung ist ein Paradigma, eine Sichtweise, wie man programmiert. Sie werden bald selbst sehen, dass OOP eine ziemlich grundlegende Vereinfachung für alle gängigen Probleme und Schwierigkeiten bringt, die in der realen Programmierung immer wieder gelöst werden müssen.
Die Grundidee der objektorientierten Programmierung besteht darin, eine große Anwendung (eine komplexe Aufgabe) in viele kleine Teile zu zerlegen, die wir elegant und unabhängig voneinander lösen können.
Wenn wir zum Beispiel ein Reservierungssystem für Flugtickets programmieren, ist das ein sehr komplexes Projekt, das Tausende von Fällen löst. Wenn wir die gesamte komplexe Logik in viele Schichten und Teile zerlegen können, können wir das gesamte komplexe System leicht verstehen und die einzelnen Teilaufgaben unabhängig voneinander programmieren.
Abgesehen von der akademischen Sichtweise gibt es viele praktische Gründe, OOP zu verwenden:
Ich persönlich kann mir nicht vorstellen, dass Teams mit mehr als einer Person anders programmieren.
Anmerkung:
Die Verwendung von Objekten belastet den Computer mit etwas mehr Speicher und CPU-Overhead, so dass die Leistung der Anwendung etwas geringer ist. In einer realen Umgebung spielt dies jedoch keine Rolle, da die Neuprogrammierung der Anwendung auf Objekte zwar einen gewissen Leistungsverlust bedeutet (in der Regel im Prozentbereich), aber den Programmierern Zeit spart (in der Regel Dutzende bis Hunderte von Prozent). Menschliche Zeit ist immer viel teurer (und sehr begrenzt) als Computerzeit.
Vergessen Sie auch nicht, dass OOP eine große Vereinfachung der gesamten Anwendung mit sich bringt und es ermöglicht, große Anwendungen in einer angemessenen Zeitspanne fertigzustellen. Eine große Anzahl komplexer Anwendungen wäre ohne Objekte kaum zu programmieren.
Das grundlegende Ziel von OOP bei der Softwareentwicklung ist es, die Eigenschaften, Verhaltensweisen und Prinzipien der realen Welt so weit wie möglich zu simulieren. Objekte in OOP stellen reale Entitäten dar. Diese Denkweise ermöglicht es uns, riesige komplexe Systeme zu bauen, die man gut verstehen kann, die reale Probleme intern so lösen, wie sie auch ohne Computer gelöst werden könnten, und deren Prinzipien man echten Menschen erklären kann.
Wenn wir beispielsweise eine Anwendung zur Verwaltung von Inhalten implementieren, ist es sinnvoll, die gesamte interne Logik in vielen realen Entitäten (Artikel, Autor, Kategorie) anzulegen und Sitzungen nicht nach künstlich erzeugten Datensatz-IDs (wie in Datenbanken üblich), sondern nach realen Beziehungen aufzubauen.
Beispiel für eine konkrete Umsetzung:
class Article{private Author $author;/** @var Kategorie[] */private array $categories;private string $title;}class Author{private string $name;}class Category{private string $name;}
Wie wir sehen können, enthält die Klasse "Artikel" nicht nur technische Parameter wie die ID des Datensatzes mit dem Autor, sondern sie ist eine echte Bindung an die Entität "Autor", die wiederum ihre eigenen Eigenschaften hat.
Eine Erläuterung der spezifischen Implementierung und Syntax finden Sie im Einführungslehrgang.
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | de