Objektorientierte Programmierung

Die objektorientierte Programmierung (OOP) ist eine Methode zum Schreiben von Computerprogrammen, die die Idee von "Objekten" zur Darstellung von Daten und Methoden verwendet. Gewöhnlich waren Computerprogramme nur eine Liste von Anweisungen an den Computer, die dem Computer sagen, dass er bestimmte Dinge auf eine bestimmte Art und Weise tun soll, was als prozedurale Programmierung bezeichnet wird. Bei der objektorientierten Programmierung machen sich Computerprogramme jedoch Objekte zunutze, die miteinander kommunizieren und die Daten in diesen Objekten ändern, um so zu arbeiten, wie der Benutzer es wünscht. Aufgrund der Art und Weise, wie die objektorientierte Programmierung konzipiert ist, hilft sie dem Entwickler, indem sie es ermöglicht, dass Code leicht von anderen Teilen des Programms oder sogar von anderen Personen wiederverwendet werden kann.

Die meisten Programmiersprachen sind eine Mischung aus verschiedenen Arten, Computerprogramme zu schreiben. Mit Python beispielsweise können Computerprogramme sowohl in objektorientierter als auch in prozeduraler Programmierung geschrieben werden. Es gibt viele Programmiersprachen, die es erlauben, Computerprogramme in OOP zu schreiben, einige dieser Programmiersprachen sind zum Beispiel C++, Java, Rubin, Perl, Emarald, Saphir, PHP, Python usw.

Merkmale

Die Hauptidee der objektorientierten Programmierung ist, dass alles ein Objekt ist. Das Objekt kann jedoch von unterschiedlichem Typ sein:

  • Variablen können Informationen (oder Daten) unterschiedlichen Typs enthalten, die von der Programmiersprache unterstützt werden. Beispiele sind der ganzzahlige Datentyp und die Datenstruktur von Listen. Variablen ist eine Idee, die bereits aus prozeduralen Programmiersprachen verfügbar ist. In der objektorientierten Programmierung werden Variablen hauptsächlich als Attribute bezeichnet.
  • Prozeduren (auch bekannt als Funktionen, Methoden oder Routinen) sind eine Liste von Anweisungen, die den Computer anweisen, Eingaben entgegenzunehmen, einige Berechnungen durchzuführen oder Daten zu ändern und Ausgaben an den Benutzer zurückzugeben. Prozeduren ist auch eine Idee, die bereits in prozeduralen Programmiersprachen verfügbar ist. In der objektorientierten Programmierung werden Prozeduren hauptsächlich als Methoden bezeichnet.
  • Klassen sind eine Sammlung verschiedener Variablen und Prozeduren. Klassen sprechen in der Regel miteinander, um Änderungen an Daten vorzunehmen und so zu arbeiten, wie der Benutzer es wünscht.

Objekte ist ein Begriff, der sich auf Instanzen von Klassen bezieht.

Beispiele

In den folgenden Beispielen erstellen wir eine Klasse mit dem Namen Human. Diese Klasse enthält die Attribute name (für den Namen der Person) und friend (für den Namen des Freundes). Jede der Methoden in der Klasse Human enthält eine Liste von Anweisungen, die sowohl das Attribut name als auch das Attribut friend verwenden.

Python

Dieser Code ist in Python.

class Human(object): def __init__(self, name, friend=None): self. name = Name self. friend = Freund def say_name(self): print("Mein Name ist "+self. name) def say_goodnight(self): wenn self. friend ist None: print("Gute Nacht niemand.") sonst: print("Gute Nacht "+self. friend. name) # Erstellen Sie ein neues Human-Objekt namens stephen mit dem Namen "Stephen" stephen = Human("Stephen") # Erstellen Sie ein neues Human-Objekt namens joe mit dem Namen "Joe" und stephen als Freund joe = Human("Joe", stephen) stephen. say_name() # Zeigt 'Mein Name ist Stephen' stephen. say_goodnight() # Zeigt 'Gute Nacht, niemand.' joe. say_name() # Zeigt 'Mein Name ist Joe' joe. say_goodnight() # Zeigt 'Gute Nacht, Stephen' # Zeigt 'Gute Nacht, Stephen

Java

Dieser Code ist in Java.

Die menschliche Klasse

class Human { private String name = "unbenannt"; // der Name dieses Human private Human friend = null; // der Freund des Human // Diese Methode erzeugt ein neues Human-Objekt, wenn man den Namen und Freund public Human(String name, Human friend) { this. name = Name; this. friend = Freund;      } // Diese Methode erzeugt ebenfalls ein neues Human-Objekt, wenn nur der Name public Human(String name) { this. name = name; this. friend = null;      } angegeben wird. // Diese Methode erzeugt ein neues Human-Objekt, wenn ihr nicht sowohl der Name als auch der Freund public Human() { this. name = "unbenannt"; this. friend = null;      } public void sayName() { System. out. println("Mein Name ist " + dieser. Name); } public void sayGoodnight() { if (friend == null) { System. out. println("Gute Nacht niemandem.");          } else { System. out. println("Gute Nacht " + Freund. name);          } } }

Eine Methode, um mit der oben genannten menschlichen Klasse zu sprechen

Klasse Main { public static void main(String[] args) { // Erstellen Sie ein neues Human-Objekt stephen mit dem Namen "Stephen" Human stephen = new Human("Stephen"); // Erstellen Sie ein neues Human-Objekt joe mit dem Namen "Joe" und stephen als Freund Human joe = new Human("Joe", stephen); stephen. sayName(); // Zeigt 'Mein Name ist Stephen' stephen. sayGoodnight(); // Zeigt 'Gute Nacht, niemand.' joe. sayName(); // Zeigt 'Mein Name ist Joe' joe. sayGoodnight(); // Zeigt 'Gute Nacht, Stephen'      } }

Kritik

Auch wenn objektorientierte Programmierung populär ist, gibt es doch viele Leute, die denken, dass sie schlecht ist und sie kritisieren.

  • Luca Cardelli schrieb einen Aufsatz mit dem Titel "Bad Engineering Properties of Object-Oriented Languages" (Schlechte technische Eigenschaften objektorientierter Sprachen).
  • Richard Stallman schrieb 1995: "Das Hinzufügen von OOP zu Emacs ist keine eindeutige Verbesserung; ich habe OOP verwendet, als ich an den Fenstersystemen der Lisp-Maschine arbeitete, und ich stimme nicht mit der üblichen Ansicht überein, dass es eine überlegene Art zu programmieren ist.
  • Eine Studie von Potok et al. sagt uns, dass es nur sehr geringe Unterschiede in der Produktivität zwischen OOP und verfahrenstechnischen Ansätzen gibt.
  • Christopher J. Date sagte, dass der Vergleich von OOP mit anderen Dingen, insbesondere wie OOP und die andere Sache zusammenhängen, schwierig ist, weil sich die Leute nicht über die Bedeutung von OOP einig sind.
  • Alexander Stepanow schlug vor, dass die OOP einen Standpunkt vertritt, der sich auf die Mathematik beschränkt, und nannte ihn "fast so ein Schabernack wie die Künstliche Intelligenz".
  • Paul Graham, ein erfolgreicher Internet-Verkäufer und Programmierer, hat vorgeschlagen, dass der Zweck der OOP darin besteht, als ein Herdenmechanismus zu fungieren, der durchschnittliche Programmierer in durchschnittlichen Organisationen davon abhält, "zu viel Schaden anzurichten". Dies verlangsamt auch schnellere, bessere Programmierer, die wissen, wie man Dinge auf eine leistungsfähigere und kompaktere Weise erledigt. [1]

Fragen und Antworten

F: Was ist objektorientierte Programmierung?


A: Objektorientierte Programmierung ist eine Art, Computerprogramme zu schreiben, bei der "Objekte" für Daten und Methoden stehen.

F: Wie unterscheidet sich die objektorientierte Programmierung von der prozeduralen Programmierung?


A: Bei der prozeduralen Programmierung sind Computerprogramme eine Liste von Anweisungen für den Computer, die ihm sagen, dass er bestimmte Dinge auf eine bestimmte Weise tun soll. Bei der objektorientierten Programmierung verwenden Computerprogramme Objekte, die miteinander kommunizieren, um die Daten in diesen Objekten zu ändern und so zu arbeiten, wie es der Benutzer wünscht.

F: Wie profitieren Entwickler von der objektorientierten Programmierung?


A: Die objektorientierte Programmierung ermöglicht die einfache Wiederverwendung von Code in anderen Teilen des Programms oder sogar von anderen Personen.

F: Wofür ist die Programmiersprache Python bekannt?


A: Mit Python können Computerprogramme sowohl in objektorientierter Programmierung als auch in prozeduraler Programmierung geschrieben werden.

F: Können Sie Beispiele für Programmiersprachen nennen, mit denen Sie Computerprogramme in objektorientierter Programmierung schreiben können?


A: Zu den Programmiersprachen, mit denen Sie Computerprogramme in objektorientierter Programmierung schreiben können, gehören C++, Java, Ruby, Perl, Emarald, Sapphire, PHP, Python, C#, usw.

F: Was sind Objekte in der objektorientierten Programmierung?


A: Objekte sind Entitäten in der objektorientierten Programmierung, die Daten und Methoden enthalten.

F: Wie funktionieren Objekte in der objektorientierten Programmierung?


A: Objekte interagieren miteinander, um die Daten in diesen Objekten zu ändern und so zu arbeiten, wie es der Benutzer wünscht.

AlegsaOnline.com - 2020 / 2023 - License CC3