[JAVA] Was ist Objektorientierung?

Ich bin seit ungefähr 10 Jahren in der Entwicklung von Java-Systemen tätig. Was ist mehrmals objektorientiert? Sie können vor Ort darüber sprechen, ein Buch lesen oder online nachschlagen.

Was ist in der Zwischenzeit ein guter Punkt für die Objektorientierung in Interviews vor Ort? Ich wurde gefragt. Zu jener Zeit,? ?? Also habe ich versucht, meine Gedanken neu zu organisieren und in Worte zu fassen.

Wie ich habe ich eine lange Felderfahrung, aber was ist objektorientiert? Wenn noch einmal gefragt, was? ?? Diejenigen, die werden. Ich hoffe, es wird ein Schlüssel sein, um die Gedanken solcher Menschen zu organisieren.

Referenzseite

Was ist Objektorientierung vor dem Organisieren?

Es bringt die Denkweise und das Erscheinungsbild der realen Welt in die Welt des Programmierens, wie sie ist. Objektorientierte Programme sind daher intuitiv leicht zu verstehen (= ähnlich der realen Welt).

Ich dachte.

Aber das? "Ja wirklich?" War das das Programm, das Sie bisher gesehen haben? Als ich mich fragte, kam ich zu einem anderen Schluss.

Was ist Objektorientierung nach dem Organisieren?

Ich werde die Wörter der Referenzseite ausleihen.

"In der Objektorientierung wird die gesamte Funktion nicht als ein einzelner Stein betrachtet, sondern als eine Sammlung von" Objekten "mit Daten und Prozeduren."

Ich werde das bekommen.

Daher wird der Schluss gezogen, dass das objektorientierte Programm eine hohe Unabhängigkeit von einzelnen Teilen aufweist, so dass es leicht zu warten und wiederverwendbar ist, die Anzahl der Entwicklungs- und Reparaturarbeiten geringer ist als zuvor und die Produktivität erhöht wird. Es hat erreicht.

"In der Objektorientierung wird die gesamte Funktion nicht als ein einzelner Stein betrachtet, sondern als eine Sammlung von" Objekten "mit Daten und Prozeduren."

Um mein Verständnis hinzuzufügen "Daten" ・ ・ ・ Attribute "Prozedur" ・ ・ ・ Verhalten Die "Funktion" ist das "was Sie tun können, wenn Sie" die "Objekte" sammeln, die haben.

Schlussfolgerung, dass die Entwicklungs- und Reparaturarbeit geringer sein wird als zuvor und die Produktivität steigen wird

Die Objekte sind unabhängig. Unabhängigkeit ist wichtig.

Entwicklungsaufwand kann reduziert werden (Wiederverwendbarkeit)

Ein unabhängiges "Tarosuke-Objekt" kann sowohl an A- als auch an B-Funktionen teilnehmen. Das heißt, wenn Sie beim Erstellen der A-Funktion ein "Tarosuke-Objekt" erstellen, müssen Sie es beim Erstellen der B-Funktion nicht erneut erstellen.

Reduzierte Reparaturarbeiten (Wartung)

Da das unabhängige "Tarosuke-Objekt" sowohl an der A-Funktion als auch am B-Funktionssatz beteiligt ist, Wenn Sie die für die Funktionen A und B übliche "Prozedur" korrigieren möchten, müssen Sie nur eines der "Tarosuke-Objekte" ändern.

Wenn Sie die drei Hauptfunktionen in Ihren eigenen Worten organisieren, basierend auf den oben genannten

Polymorphismus

Die anweisende Seite ist einfach.

Insbesondere, als ich dachte: "Ich möchte, dass Sie einen Benutzerverwaltungsbildschirm erstellen." Unabhängig davon, ob die zu instruierende Person "Tarosuke" oder "Karasuke" ist, wird sie erstellt, wenn Sie "Bitte erstellen Sie einen Benutzerverwaltungsbildschirm" anweisen. Die Inhalte sind "Tarosuke" und "Karasuke", und Sie können einen eindeutigen "Benutzerverwaltungsbildschirm" erstellen.

Auch wenn "Monosuke" angezeigt wird, können Sie die gleichen Anweisungen befolgen.

Erbe

Überlassen Sie es der allgemeinen übergeordneten Klassifizierung.

Das gleiche Verfahren für "Tarosuke" und "Karasuke" wird durchgeführt, indem "Eltern" und "gute Nächte" in der "suke-Klassifizierung" erstellt und ihnen überlassen werden. Ist es so

Das Gute daran ist, dass Sie das Verfahren auch dann verwenden können, wenn "Monosuke" angezeigt wird.

Verkapselung

Der Ausbilder muss den spezifischen Inhalt der Arbeit nicht kennen. Dies wird nicht empfohlen, da es wahrscheinlich ein runder Wurf am Standort der Systementwicklung ist, aber es ist einfach für die Programmentwicklung.

Im Polymorphismus, als ich dachte "Ich möchte, dass Sie einen Benutzerverwaltungsbildschirm erstellen" Unabhängig davon, ob die zu instruierende Person "Tarosuke" oder "Karasuke" ist, wird sie erstellt, wenn Sie "Bitte erstellen Sie einen Benutzerverwaltungsbildschirm" anweisen.

Der Ausbilder muss nicht wissen, wie er es machen soll.

Die Geschichte.

Das? Was ist schließlich gut an der Objektorientierung?

Aufgrund des hohen Maßes an Unabhängigkeit ist die Anzahl der Entwicklungs- und Reparaturarbeiten geringer als zuvor und die Produktivität wird verbessert. Wunder.

Das heißt, es gibt keine Silberkugeln da draußen. Wenn ja, benutzt es jeder (lacht) Ich denke also nicht, dass alles passt.

Es wird jedoch als eine der bequemen Methoden angesehen. Verwenden Sie, wo Sie können. Ich finde das gut

Schlechter Satz

Ich konnte es mit meinem Kopf organisieren! Wenn ich darüber nachdenke und es in Worte fasse, bleibt es auf verschiedene Weise hängen. Verbalisierung ist wichtig w

Recommended Posts

Was ist Objektorientierung?
[Für Super-Super-Anfänger] Was ist Objektorientierung?
[Technischer Hinweis] Was ist objektorientiert?
Was ist Cubby?
Was ist null? ]]
Was ist java
Was ist Schlüsselumhang?
Was ist Maven?
Was ist Jackson?
Was ist Selbst
Was ist Jenkins?
Was ist IM-Jonglieren?
Was ist params
Was ist Fassade? ??
Was ist Java <>?
Was ist Gradle?
Was ist POJO?
Array ist Objekt
Was ist java
Was ist centOS?
Was ist RubyGem?
Informationen zur Objektorientierung
Was ist before_action?
Was ist Docker?
Was ist Byte?
Was ist Tomcat?
Was ist Maven Assembly?
Was ist Docker-Compose?
Was ist vue cli
Was ist eine Schnittstelle?
Was ist Rubys Selbst?
Was ist Rubys attr_accessor?
Was ist Java-Kapselung?
Was ist die Erlaubnis verweigert?
Was ist Instanzsteuerung?
Was ist ein Initialisierer?
Was ist Spring Tools 4?
Was ist ein Operator?
Was ein Anfänger getan hat, um die Objektorientierung zu verstehen
Was ist Guavas @VisibleForTesting?
Was ist ein MVC-Modell?
Was ist eine Anmerkung?
Was ist Java-Technologie?
Was ist Java API-Java?
Was ist @ (Instanzvariable)?
Was ist Gradles Artefakt?
Was ist JPA-Prüfung?
[Java] Was ist flatMap?
Was ist ein Servlet?
Was ist Webentwicklung?
[Java] Was ist ArrayList?
Was ist eigentlich objektorientiert?
Was ist Java Assertion? Zusammenfassung.