Das Verständnis von Java Objektorientierte Programmierung (OOP)

Java ist objektorientiert. Was bedeutet das? Im Gegensatz zu Sprachen wie Fortran, die auf dem Geben Sie den Computer konzentrieren Imperativ "Tun Sie dies / Do, dass" Befehle, objektorientierte Sprachen auf Daten konzentrieren. Natürlich, objektorientierte Programme sagen immer noch, den Computer zu tun, was. Sie beginnen jedoch durch die Daten zu organisieren und die Befehle später kommen.

Menu

Die objektorientierte Sprachen sind besser als "diese Do / Do, dass" Sprachen, weil sie organisieren Daten in einer Weise, dass die Menschen tun, alle möglichen Dinge mit ihm lässt. Um die Daten zu ändern, können Sie bauen auf, was Sie bereits haben, anstatt Schrott alles, was Sie getan haben und von vorn beginnen jedes Mal, wenn Sie tun müssen, um etwas Neues. Obwohl Computer-Programmierer im Allgemeinen intelligente Menschen sind, nahmen sie eine Weile, dies herauszufinden.

Objekte und ihre Klassen

In einer objektorientierten Sprache, verwenden Sie Objekte und Klassen um Ihre Daten zu organisieren.

Stellen Sie sich vor, dass Sie einen Computer Programm schreiben, um zu verfolgen, die Häuser in einer neuen Eigentumswohnung Entwicklung (noch im Aufbau). Die Häuser unterscheiden sich nur geringfügig voneinander. Jedes Haus hat einen unverwechselbaren Verkleidung in der Farbe, Innenlackfarbe, einen Küchenschrank Stil, und so weiter. In Ihrem objektorientierte Computerprogramm, jedes Haus ist ein Objekt.

Aber Objekte sind nicht die ganze Geschichte. Obwohl die Häuser ein anderes leicht voneinander unterscheiden, alle Häuser die gleiche Liste von Eigenschaften aufweisen. Zum Beispiel hat jedes Haus eine charakteristische bekannt als Verkleidung in der Farbe. Jedes Haus verfügt über ein weiteres Merkmal bekannt als Küchenschrank Stil. In Ihrem objektorientiertes Programm, benötigen Sie einen Master-Liste alle Eigenschaften enthält, die ein Haus Objekt besitzen kann. Diese Master-Liste der Merkmale wird als ein Klasse.

So haben Sie es. Objektorientierte Programmierung ist misnamed. Es sollte wirklich als "mit Klassen und Objekten Programmierung" werden.

Man beachte, daß das Wort Klassen Zuerst wurde aufgeführt? Denken Sie noch einmal über eine Wohnsiedlung, die im Bau ist. Irgendwo auf dem Grundstück, in einem wackeligen Anhänger auf nackten Erde geparkt, ist ein Master-Liste der Eigenschaften als Vorlage bekannt. Ein Architekturplan ist wie eine objektorientierte Programmierer Klasse. Ein Plan ist eine Liste der Eigenschaften, die jedes Haus haben wird. Der Entwurf sagt: "Abstellgleis." Das eigentliche Haus Objekt hat graue Abstellgleis. Der Entwurf sagt: "Küchenschrank". Das eigentliche Haus Objekt hat Louis XIV Küchenschränke.

Ein Jahr, nachdem Sie den Bauplan zu erstellen, verwenden Sie es zehn Häuser zu bauen. Es ist das gleiche mit Klassen und Objekten. Zuerst schreibt der Programmierer Code, um eine Klasse zu beschreiben. Dann, wenn das Programm ausgeführt wird, erstellt der Computer-Objekte aus der (Modell) Klasse.

Das ist also die wirkliche Beziehung zwischen den Klassen und Objekten. Der Programmierer definiert eine Klasse, und von der Klassendefinition, macht der Computer einzelne Objekte.

Was ist so gut über eine objektorientierte Sprache?

Stellen Sie sich vor, dass Sie bereits ein Computerprogramm zu verfolgen die Bauanleitung für Häuser in einer neuen Entwicklung geschrieben. Dann entscheidet der Big Boss auf einem modifizierten Plan - einen Plan, in dem die Hälfte der Häuser drei Schlafzimmer haben, und die andere Hälfte haben vier.

Wenn Sie die alte Fortran / C Art der Computer-Programmierung, sondern schauen Sie Ihre Anweisungen wie folgt aus:
Dig ein Graben für den Keller.
Lay Beton um die Seiten des Grabens.
Legen Sie zwei-by-fours entlang der Seiten für den Rahmen Keller.
...

Das wäre wie ein Architekt eine lange Liste von Befehlen anstelle eines Plans zu schaffen. Um den Plan zu ändern, müssen Sie durch die Liste sortieren, die Anweisungen zu finden für den Aufbau Schlafzimmer. Um alles noch schlimmer machen, könnten die Anweisungen zwischen den Seiten 234 gestreut werden, 394-410, 739, 10 und 2. Wenn der Erbauer entziffern musste anderer Völker komplizierte Anweisungen, wäre die Aufgabe zehnmal härter sein.

Beginnend mit einer Klasse ist jedoch wie bei einem Entwurf beginnen. Wenn Sie sich entscheiden, beide Drei- und Vier-Zimmer-Häuser zu haben, können Sie beginnen mit einem Plan der angerufene Haus Blaupause, die ein Erdgeschoss und eine zweite Etage hat, hat aber keine Innen auf der zweiten Etage gezogen Wände. Dann machen Sie zwei weitere im zweiten Stock Baupläne - eine für das Haus mit drei Schlafzimmern und eine andere für die Vier-Zimmer-Haus. (Sie nennen diese neuen Pläne der Haus mit drei Schlafzimmern Entwurf und die Haus mit vier Schlafzimmern Entwurf.)

Ihre Erbauer Kollegen sind erstaunt, mit Ihren Sinn für Logik und Organisation, aber sie haben Bedenken. Sie stellen eine Frage. "Sie rief einen der Baupläne die" Drei-Zimmer-Haus "Plan. Wie können Sie dies tun, wenn es ein Entwurf für eine zweite Etage ist und nicht für ein ganzes Haus?"

Du lächelst, wissentlich und antworten: "Das Haus mit drei Schlafzimmern Bauplan kann sagen:" Für Informationen über den unteren Etagen, das ursprüngliche Haus Entwurf zu sehen. ' Auf diese Weise, das Haus mit drei Schlafzimmern Plan beschreibt ein ganzes Haus. Das Haus mit vier Schlafzimmern Plan die gleiche Sache sagen kann. Mit diesem Setup können wir alle Vorteile der Arbeit nehmen wir haben bereits das ursprüngliche Haus Bauplan erstellen und speichern viele Geld. "

In der Sprache der objektorientierten Programmierung, die Drei- und Vier-Zimmer-Haus Klassen sind Vererben die Merkmale des ursprünglichen Hauses Klasse. Sie können auch sagen, dass die Drei- und Vier-Zimmer-Haus Klassen sind Verlängerung Das ursprüngliche Haus-Klasse.

Das ursprüngliche Haus-Klasse genannt Super der Drei- und Vier-Zimmer-Haus Klassen. In diesem Sinne sind die Drei- und Vier-Zimmer-Haus Klassen Subklassen des ursprünglichen Hauses Klasse. Anders ausgedrückt, wird die ursprüngliche Haus-Klasse genannt Elternklasse von Drei- und Vier-Zimmer-Haus Klassen. Die Drei- und Vier-Zimmer-Haus Klassen sind Kind-Klassen des ursprünglichen Hauses Klasse.

Unnötig zu sagen, Ihr Haus-builder Kollegen sind neidisch. Eine Menge von Häuslebauer ist mobbing um Sie über Ihre großen Ideen zu hören. Also, in diesem Moment, Ihnen eine weitere Bombe fallen:. "Durch eine Klasse mit den Unterklassen zu erstellen, können wir den Entwurf in der Zukunft wiederverwenden, wenn jemand kommt und will ein Fünf-Zimmer-Haus, können wir unsere ursprüngliche Haus Plan erweitern, indem ein fünf-Zimmer-Haus Plan. Wir werden nie wieder Geld für ein originelles Haus Bauplan zu verbringen. "

"Aber", sagt ein Kollege in der hinteren Reihe, "was passiert, wenn jemand eine andere im ersten Stock Design will? Haben wir das ursprüngliche Haus Bauplan Müll oder starten alle über dem ursprünglichen Entwurf kritzeln? Das wird viel Geld kosten, gewann ' t es? "

In einem zuversichtlichen Ton, Sie antworten: "Wir haben nicht mit dem ursprünglichen Haus Bauplan zu verwirren. Wenn jemand einen Jacuzzi in seinem Wohnzimmer will, können wir eine neue, kleine Entwurf nur den neuen Wohnraum zu beschreiben machen und nennen dies die Jacuzzi-in-Wohn-Zimmer-Haus Entwurf. Dann wird dieser neue Entwurf zum ursprünglichen Haus Bauplan für info Haus auf dem Rest des Hauses (der Teil, der nicht im Wohnzimmer). "In der Sprache der objektorientierten Programmierung, die Jacuzzi-in-Wohnzimmer beziehen Entwurf noch erweitert Das ursprüngliche Haus Bauplan. Der Jacuzzi Plan ist immer noch eine Unterklasse des ursprünglichen Hauses Entwurf. In der Tat, die ganze Terminologie über übergeordnete Klasse, Elternklasse und Kindklasse gilt nach wie vor. Das einzige, was neu ist, ist, dass die Jacuzzi Plan Überschreibungen Das Wohnzimmer verfügt über im ursprünglichen Haus Bauplan.

In den Tagen vor der objektorientierten Sprachen, erlebte die Programmierung Welt eine Krise in der Softwareentwicklung. Programmierer schrieb Code, dann neue Bedürfnisse entdeckt, und dann ihren Code hatte in den Papierkorb und von vorne anfangen. Dies geschah immer und immer wieder, weil der Code, der die Programmierer nicht wiederverwendet werden konnten, wurden zu schreiben. Objektorientierte Programmierung verändert all dies zum besseren.

Menü