793 Shares 6428 views

PLO – was ist das? Die Grundprinzipien der objektorientierten Programmierung

Warum die objektorientierte Programmierung ist in den meisten Projekten bevorzugt? PLO bietet eine effektive Art und Weise mit ihrer Komplexität zu bewältigen. Statt ein Programms als eine Folge von ausführbaren Befehlen unter Berücksichtigung, stellt sie es als eine Gruppe von Objekten mit bestimmten Eigenschaften und produziert sie mit bestimmten Aktionen. Daraus ergibt sich ein klarer, zuverlässiger und legkosoprovozhdaemyh Anwendungen.

Die Grundprinzipien der objektorientierten Programmierung (OOP) gebildet , da Einschränkungen haben in bereits bestehenden Ansätze gefunden. Unter ihnen – unbegrenzten Zugang zu den Daten und eine große Anzahl von Links, die Beschränkungen für die Änderung aufzuzwingen. Ihr Bewusstsein und Ursachen wichtig zu verstehen, was OOP Programmierung und was sind seine Vorteile.

Verfahrenssprachen

C, Pascal, Fortran und ähnliche Sprachen sind Verfahren. Das heißt, jeder der Bediener den Computer sagt, etwas zu tun: die Daten zu erhalten, fügen Sie die Zahlen nach oben, aufgeteilt in sechs, das Ergebnis angezeigt. Anhang Verfahrenssprache Anweisungsliste. Wenn es klein ist, (oft bezeichnet als Paradigma) kein anderes Ordnungsprinzip ist nicht erforderlich. Der Programmierer erstellt eine Liste von Befehlen, und der Computer führt sie aus.

Trennung von Funktionen

Wenn Anwendungen werden umständliche Liste der Wendungen. Ein paar mehr als ein paar hundert Anweisungen verstehen können, bis sie gruppiert sind. Aus diesem Grunde war die Funktion die Art und Weise der Anwendung verständlichen seine Schöpfer zu machen. In einigen Sprachen kann das gleiche Konzept Subroutinen oder Prozeduren aufgerufen werden.

Die Anwendung ist in Funktionen unterteilt, von denen jede eine klar definierte Zweck und die Schnittstelle hat.

Die Idee der Trennung von Verfahren kann in eine größere Gruppierung ein Moduls genannten Objekt erweitert werden, aber das Prinzip ist analog: die Gruppierung von Komponenten, die Listen von Dokumenten führen.

Die Trennung von Funktionen und Modulen – einer der Ecksteine der strukturierten Programmierung, die für mehrere Jahrzehnte, bis die PLO es Paradigma stellt war.

strukturierte Programmierung Probleme

Als Anwendungen werden größere, strukturierte Programmierung beginnen Schwierigkeiten. Projekte zu komplex. verschoben Grafiken. Es geht um eine große Anzahl von Programmierern. Die Komplexität ist gewachsen. Kosten schießen, wurde der Zeitplan weiter verschoben, und es kam der Zusammenbruch.

Die Analyse der Ursachen von Fehlern ergaben Mängel Verfahren Paradigma. Unabhängig davon, wie gut umgesetzt Programmierung Ansatz strukturiert, werden große Anwendungen zu komplex.

Was sind die Ursachen für diese mit prozeduralen Sprachen verbundenen Probleme? Erstens haben die Funktionen unbegrenzten Zugriff auf globale Daten. Zweitens unabhängige Verfahren und schlechte Werte simulieren die reale Welt.

Wenn wir diese Fragen im Rahmen der Bestandsbuchhaltungssoftware, eines der wichtigsten Elemente der globalen Daten ist ein Satz von SKUs betrachten. Verschiedene Funktionen können sich auf sie beziehen, einen neuen Wert eingeben, es angezeigt wird, ändert und so. D.

unbegrenzter Zugang

Das Programm geschrieben, beispielsweise in C, gibt es zwei Arten von Daten. Lokale innerhalb der Funktion ausgeblendet und andere Verfahren verwendet werden, nicht.

Wenn zwei oder mehr Funktionen Zugriff auf die gleichen Daten haben, muss dieser global sein. Solche zum Beispiel berücksichtigen Informationen zu den Themen gemacht. Die globalen Daten können alle verfügbaren Verfahren.

In einem großen Programm, gibt es viele Funktionen und viele globale Elemente. Das Problem des prozeduralen Paradigmas ist, dass es zu einer größeren Anzahl von möglichen Verbindungen zwischen ihnen führt.

Eine solche bewirkt, dass eine große Anzahl von Verbindungen mehr Schwierigkeiten. Erstens erschwert es, das Verständnis der Struktur des Programms. Zweitens schwer zu ändern. Veränderung in dem globalen Datenelement kann eine Anpassung aller Funktionen erfordern, den Zugriff darauf haben.

Zum Beispiel in das Programm jemand Buchhaltung dass Objektcode einen Anteil entscheidet nicht aus 5 Ziffern bestehen, und von 12. Dies wird eine Änderung erfordern den Datentyp von kurz bis lang. Jetzt im Zusammenhang mit dem Funktionscode mit dem neuen Format arbeiten modifiziert werden müssen.

Wenn die Elemente in einer größeren Anwendung geändert werden, ist es schwierig zu sagen, welche Verfahren den Zugang zu ihnen haben. Aber selbst wenn diese Figur ändert sie in falscher Bedienung mit anderen globalen Daten führen kann. Alles ist mit allem verbunden, so dass eine Änderung an einem Ort nach hinten losgehen in einem anderen.

Die Modellierung der realen Welt

Das zweite und wichtigeres Problem des prozeduralen Paradigmas ist, dass seine standortspezifischen Daten und Funktionen schlecht die Dinge in der realen Welt simuliert. Hier handelt es sich um Objekte wie Menschen oder Autos. Sie sind wie keine Daten oder die Funktion. Komplexe Objekte der realen Welt haben Attribute und Verhalten.

Attribute

Beispiele für Attribute (manchmal auch als Objekte) für die Menschen sind Augenfarbe und der Name der Post, für ein Auto – die Kraft und die Anzahl der Türen. die Attribute der realen Welt entspricht den Daten in dem Programm wie sich herausstellte. Sie haben ganz bestimmte Werte, wie blau (Augenfarbe) oder vier (die Anzahl der Türen).

Verhalten

Verhalten – ist, dass Objekte der realen Welt als Reaktion auf irgendeine Art von Wirkung erzeugt werden. Wenn Sie einen Chef für Gehaltserhöhung fragen, lautet die Antwort „ja“ oder „nein“. Wenn Sie auf die Bremse drücken, wird das Auto zu stoppen. Und Stoppen der Äußerung Verhaltensweisen sind Beispiele. Verhalten ähnlich dem Verfahren: es heißt, etwas zu tun, und es tut dies. So modellieren die Daten und Funktionen, die von selbst nicht den realen Welt effizient Objekte.

Lösung

Das Objekt in OOP ist als ein Satz von Daten und Funktionen dargestellt. Nur die Verfahren, die Member-Funktionen in C ++ genannt werden, erlauben ihren Wert zu erhalten. Diese sind versteckt und vor Änderungen geschützt. Bedeutungen und Funktionen sind in einem verkapselt. Encapsulation und upryatyvanie – Grundbegriffe in der Beschreibung der objektorientierten Sprachen.

Wenn Sie die Daten ändern möchten, weiß es genau das, was mit ihnen Funktionen interagieren. Keine andere Verfahren können nicht darauf zugreifen. Dies vereinfacht Schreiben, Debuggen und die Aufrechterhaltung des Programms.

Eine Anwendung besteht in der Regel aus mehreren Objekten, die miteinander interagieren, wodurch die Mitgliederfunktionen.

Heute ist die am weitesten verbreitete Sprache OOP (objektorientierte Programmierung) – C ++ (plus plus). In Java fehlen einige Features wie Pointer, Vorlagen und Mehrfachvererbung, die es weniger leistungsstark und vielseitig als C ++ macht. C # noch nicht erreicht hat die Popularität von C ++.

Es soll beachtet werden, dass so genannte Member-Funktionen in C ++ aufgerufenen Methoden in einigen anderen objektorientierten Sprachen wie Smalltalk. Die Datenelemente sind als Attribute bezeichnet. eine Methode des Objekts aufrufen wird ihm das Senden von Nachrichten.

Analogie

Sie können die Objekte der Abteilungen des Unternehmens vorstellen. In den meisten Unternehmen arbeiten Mitarbeiter nicht einen Tag mit dem Personal, das folgenden Überladungs Gehalt, und dann einer Woche im Einzelhandel tätig. Jede Abteilung hat ihre eigenen Mitarbeiter mit klar zugewiesenen Aufgaben. Es gibt eigene Daten: Indikatoren der Löhne, Vertrieb, Buchhaltung Personal usw. Die Menschen in den Abteilungen mit ihren Informationen arbeiten … Die Aufteilung des Unternehmens, erleichtert daher die Steuerung des operativen Geschäfts und hält die Datenintegrität. Accounting ist für die verantwortliche Gehaltsabrechnung. Wenn Sie den Gesamtbetrag der Löhne an den südlichen Zweig im Juli bezahlt wissen wollen, braucht nicht in das Archiv zu vertiefen. Es ist genug, um eine Notiz an die verantwortliche Person zu senden, warten Sie, bis diese Person Zugriff auf die Daten hat und sendet die Antwort auf die gewünschten Informationen. Dies sorgt für die Einhaltung von Vorschriften und das Fehlen von externen Störungen. In gleicher Weise stellt ein Objekt in der PLO Organisation Anwendung.

Es sollte daran erinnert werden, dass die Orientierung von Objekten gilt nicht für die Details des Arbeitsprogrammes. Die meisten Befehle C-Operatoren entsprechen die Verfahrenssprachen wie C ++ In der Tat, die Member-Funktionen in C ++ Funktionen in C sehr ähnlich sind nur der breitere Kontext ermöglicht es festzustellen, ob die Anweisung prozeduralen oder objektorientiert.

Das Objekt in OOP: Definition

Wenn das Problem der Programmierung in der objektorientierten Sprache statt Fragen zu seiner Aufteilung in getrennte Funktionen unter Berücksichtigung ist ein Problem bei den Trennanlagen. OOP Denken ist viel einfacher, Anwendungen zu entwickeln. Dies ist aufgrund der Ähnlichkeit von Software und realen Objekten.

Was für Dinge sind Objekte in OOP? Hier sind einige typische Kategorien.

Physisches Objekt in OOP – ist:

  • Verkehrsflussmodelle;
  • elektrische Bauteile in den Schaltungsentwurfsprogramme;
  • die Wirtschaft Modell des Landes;
  • Flugzeug im Luftverkehrssteuerungssystem.

Elemente der Umwelt des Computer des Benutzers:

  • Menü;
  • Fenster;
  • Grafiken (Linie, Rechteck, Kreis);
  • Tastatur, Maus, Drucker, Plattenlaufwerke.

Personen:

  • Arbeitnehmer;
  • Studenten;
  • Kunden;
  • Verkäufer.

Informationen:

  • Buchhaltung;
  • Privatsache;
  • Wörterbuch;
  • Tabelle der Längen- und Breitengrade von Siedlungen.

Kommunikation realer Objekte und die PLO war das Ergebnis einer Kombination von Funktionen und Daten, die sie die Programmierung revolutioniert haben. Eine solche enge Übereinstimmung gibt in prozeduralen Sprachen.

Klasse

Objekte in der PLO – ein Klassenmitglied. Was bedeutet das? Programmiersprachen verfügt über integrierte in Datentypen. Typ int, t. E. Eine Ganzzahl , die in C ++ vorgegeben ist. Sie können eine beliebige Anzahl von int Variablen deklarieren.

In ähnlicher Weise eine Vielzahl von Objekten durch eine Klasse definiert. Es definiert die Funktionen und die in ihren Einrichtungen enthalten Daten, so dass sie nicht zu schaffen, sowie ein int-Variablen nicht erstellen.

Klasse in der PLO – eine Beschreibung einer Anzahl von ähnlichen Objekten. Prince, Sting und Madonna sind die Sänger. Es ist niemand mit diesem Namen, kann aber die Menschen so genannt werden, wenn sie die entsprechenden Eigenschaften aufweisen. OOP-Objekt – diese Instanz.

Erbschaft

Im Leben sind Klassen in Unterklassen unterteilt. Zum Beispiel werden Tiere unterteilt in Amphibien, Säugetiere, Vögel, Insekten und so weiter. D.

Das Prinzip dieser Art von Aufteilung ist, dass jede Unterklasse gemeinsame Merkmale mit der Klasse, von der hat die. Alle Fahrzeuge haben Räder und einen Motor. Dies ist die Definition der Merkmale der Fahrzeuge. Zusätzlich zu den allgemeinen Eigenschaften jeder Unterklasse hat seine eigene Charakteristik. Es gibt viele Busse-Sitze und Lastwagen haben den Raum schwere Lasten zu tragen.

In ähnlicher Weise kann eine Basisklasse eine Unterklasse Elternteil mehrere Derivate sein, die definiert werden, so dass sie ihre eigenen Merkmale mit dem Zusatz teilen. Vererbung wie Funktionen, die Vereinfachung der Verfahrensprogramm. Wenn mehrere Teile des Codes sind so ziemlich das gleiche tun, können Sie die gemeinsamen Elemente extrahieren und sie in einem Verfahren setzen. Drei Anwendungsgebiet können die Funktion aufrufen, gemeinsame Aktionen durchzuführen, aber sie können produzieren und seine eigenen Operationen. In ähnlicher Weise enthält die Basisklasseninformation gemeinsam mit der Gruppe der Derivate. Eine ähnliche Funktion reduziert die Vererbung von objektorientierten Programms und die Beziehung der Elemente klären.

Recycling

Sobald die Klasse erstellt und ausgetestet, kann es an andere Programmierer übertragen werden in Ihren eigenen Applikationen wiederzuverwenden. Es ist wie eine Bibliothek von Funktionen, die in verschiedenen Anwendungen aufgenommen werden können.

In OOP, Vererbung ist eine Erweiterung der Idee der Mehrfachnutzung. Von einer bestehenden Klasse, ohne sie zu verändern, können wir einen neuen mit dem Zusatz von anderen Funktionen bilden. Die einfache Wiederverwendung von bestehenden Software – ein wichtiger Vorteil der PLO. Es wird angenommen, dass es eine steigende Rentabilität der ursprünglichen Investition bietet.

Erstellen von neuen Datentypen

Einrichtungen geeignet für die Erstellung neuer Datentypen. Angenommen, ein Programm verwendet zweidimensionale Werte (zB Koordinaten oder Breite und Länge), und den Wunsch hat, die Wirkung von Arithmetik auf sie ausdrücken:

position1 = Position + Herkunft,

wo position1, Position und Herkunft – ein Paar von unabhängigen numerischen Werten. Erstellen einer Klasse, die diese beiden Werte und Variablendeklarationen ihrer Objekte umfasst erzeugt einen neuen Datentyp.

Polymorphismus, Überlastung

Operatoren = (gleich) und + (Plus) in der Arithmetik oben Positions verwendet nicht handeln sowie einen eingebauten Typen wie int. Position Objekte und andere. Nicht vorbestimmt und per Software eingestellt. Woher wissen diese Operatoren, wie sie zu behandeln? Die Antwort liegt in der Tatsache, dass neue Verhaltensweisen für sie eingestellt werden. Diese Operationen werden Elementfunktionen der Klasse Position sein.

Verwenden von Operatoren oder Verfahren, je nachdem, was sie arbeiten Polymorphismus genannt wird. Wenn ein Operator ist, wie + oder =, die Möglichkeit erhält mit dem neuen Datentyp zu arbeiten, heißt es, dass es überlastet ist. Überlastung in der PLO – eine Art von Polymorphismus. Es ist seine wichtige Funktion.

Ein Buch über die PLO „Objektorientierte Programmierung für Dummies“ können alle näher mit diesem Thema vertraut zu machen.