Grundlagen der Programmierung

Überblick

Die objektorientierte Programmierung (OOP) ist ein Programmierparadigma, das auf dem Konzept der „Objekte“ basiert, die Daten in Form von Feldern, oft als Attribute bezeichnet, und Code in Form von Prozeduren, oft als Methoden bezeichnet, enthalten können. Ein Merkmal von Objekten ist, dass die Prozeduren eines Objekts auf die Datenfelder des Objekts, mit dem sie verbunden sind, zugreifen und diese häufig ändern können (Objekte haben eine Vorstellung von „this“ oder „self“). Es gibt eine beträchtliche Vielfalt an OOP-Sprachen, aber die populärsten sind klassenbasiert, was bedeutet, dass Objekte Instanzen von Klassen sind, die typischerweise auch ihren Typ bestimmen.

Diskussion

Bis jetzt haben wir uns auf die prozedurale Programmierung konzentriert. Auf der Grundlage der strukturierten Programmierung enthalten Prozeduren (Routinen, Unterprogramme oder Funktionen) eine Reihe von auszuführenden Rechenschritten. Jede beliebige Prozedur kann an jedem beliebigen Punkt während der Ausführung eines Programms aufgerufen werden, auch von anderen Prozeduren oder von ihr selbst. Der Schwerpunkt der prozeduralen Programmierung liegt auf der Aufteilung einer Programmieraufgabe in eine Sammlung von Variablen, Datenstrukturen und Unterprogrammen. Kleine Programme und Skripte lassen sich in der Regel leichter mit einem einfachen prozeduralen Ansatz entwickeln.

Die objektorientierte Programmierung hingegen unterteilt eine Programmieraufgabe in Objekte, die über Schnittstellen Verhalten (Methoden) und Daten (Mitglieder oder Attribute) offenlegen. Der wichtigste Unterschied besteht darin, dass bei der prozeduralen Programmierung Prozeduren verwendet werden, um auf getrennten Datenstrukturen zu operieren, während bei der objektorientierten Programmierung beides gebündelt wird, so dass ein „Objekt“, das eine Instanz einer Klasse ist, auf seiner „eigenen“ Datenstruktur operiert. Größere Programme profitieren von der besseren Code- und Datenisolierung und der Wiederverwendung, die ein objektorientierter Ansatz bietet.

Objekte und Klassen werden oft entwickelt, um reale Objekte darzustellen. Betrachten Sie eine Tür als Beispiel für ein reales Objekt. Die meisten Türen haben eine begrenzte Funktionalität. Sie können geöffnet und geschlossen, verriegelt und entriegelt werden. In der prozeduralen Programmierung könnten wir Funktionen zum Öffnen, Schließen, Verriegeln und Entriegeln einer Tür entwerfen, z. B.:

Procedural Programming - FunctionsOpenDoor(door)CloseDoor(door)LockDoor(door)UnlockDoor(door)

In der objektorientierten Programmierung werden Code und Daten kombiniert, so dass wir anstelle von separaten Funktionen, die auf Türen wirken, Türen entwerfen, die Methoden haben, die auf sich selbst wirken können. Methoden stellen etwas dar, was das Objekt tun kann, und werden normalerweise mit Verben definiert. Objektorientierter Pseudocode für Türen könnte so aussehen:

Object-Oriented Programming - Methodsdoor.Open()door.Close()door.Lock()door.Unlock()

Objekte können auch Attribute haben, etwas, das das Objekt ist oder hat, und werden normalerweise mit Substantiven oder Adjektiven definiert. Türattribute könnten sein:

Object-Oriented Programming - Attributesdoor.Heightdoor.Widthdoor.Colordoor.Closeddoor.Locked

Wenn wir Code schreiben, um eine generische Tür zu definieren, würden wir eine Türklasse erstellen. Die Türklasse würde alle Methoden enthalten, die eine Tür ausführen kann, sowie alle Attribute, die eine Tür haben könnte. Wir würden dann Instanzen der Klasse (Objekte) erstellen, um bestimmte Türen zu repräsentieren, z. B. eine Vorder-, Hinter- oder Zimmertür an einem Haus oder eine linke und rechte Tür an einem Auto.

Schlüsselbegriffe

Attribut Eine Spezifikation, die eine Eigenschaft eines Objekts definiert. Klasse Eine erweiterbare Programmcode-Vorlage zur Erstellung von Objekten, die Anfangswerte für den Zustand (Mitgliedsvariablen) und Implementierungen des Verhaltens (Mitgliedsfunktionen oder Methoden) bereitstellt. Instanz :Ein konkretes Vorkommen eines Objekts. Methode Eine Spezifikation, die eine Prozedur oder ein Verhalten eines Objekts definiert. Objekt Eine bestimmte Instanz einer Klasse, wobei das Objekt eine Kombination aus Variablen, Funktionen und Datenstrukturen sein kann. this, self oder Me Schlüsselwörter, die in einigen Computerprogrammiersprachen verwendet werden, um sich auf das Objekt, die Klasse oder eine andere Entität zu beziehen, zu der der aktuell laufende Code gehört.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.