Sonstiges > Offtopic

OO - Definition für Neueinsteiger

<< < (3/7) > >>

-Michael-:
Danke, Semeaphoros, für Deine Worte.

Trotzdem sehe ich noch immer nicht den überhaupt möglichen Einsatz von OO.

Angenommen ich stelle mich heute hin und sage:
"Jawoll, ich will OO-Programmieren".

Was muss ich denn machen, damit ich meine Aussage erfülle?
Auslagerung in Subs/Functions hatten wir ja bereits.
Der Rest ist imho gesunder Menschenverstand. (Nutzung globaler Agenten, evtl. Nutzung Shared Actions - wenn auch damit Probleme zu erwarten sind, Definition globaler Variablen wenn man das braucht, etc.).

Vielleicht bin ich auch schon mittendrin.

Michael

Hernan Cortez:

--- Zitat von: -Michael- am 16.04.04 - 23:22:58 ---Das dachte ich mir eigentlich schon :-) Der "Trick" bzw. diese Methodik ist ja uralt. Kenne ich noch von meinen alten Amiga-Zeiten, wo ich in C Includes entsprechend 'included' habe, also ausgelagerten, immer wiederverwendbaren Code, dank #include verwendete.

--- Ende Zitat ---

Da ist schon ein kleiner Unterschied mit starken Auswirkungen.
Funktionsbibliotheken sind eine Sammlung von Funktionen.
Objekte bestehen aus State und Methoden.
State ist vereinfacht gesprochen sowas wie Variablen.

Funktionen einer Funktionsbibliothek arbeiten über von aussen kommende Variablen (lokale Variablen ist etwas anderes). In Objekten sind die Variablen (state) und die Methoden zusammen.

Eine Funktion kannst du aufrufen, die Funktion errechnet einen Rückgabewert und terminiert.
Objekte hälst du über einen beliebigen Zeitraum im Arbeitsspeicher. Während dieser Zeit kannst du sie immer aufrufen, den state ändern, sie abfragen, etc.

Klassen sind "Förmchen" für Objekte. Ein Objekt kann andere Objekte enthalten. Das sind dann schon Datenstrukturen.

Eigentlich geht es primär um Übersichtlichkeit. Wiederverwendbarkeit ist dann schon die höhere Schule.

Ich empfehle wirklich ein Einsteigerbuch. Kann ich nicht so einfach erklären.

Gruß Axel

-Michael-:

--- Zitat von: -Michael- am 16.04.04 - 23:22:58 ---Eigentlich geht es primär um Übersichtlichkeit.

--- Ende Zitat ---

Axel, ich denke Du bringst es langsam auf den Punkt.

Was sind eigentlich meine Ziele bei einem Code:
- ein Außenstehender soll sich zurecht finden
- ich selbst soll es einfach haben: Änderungen nur an 1 zentralen Stelle
- übersichtlicher, sauber dokumentierter Code
- einheitliche Syntax
etc.

Das alles erscheint mir selbstverständlich. Jeder gute Programmierer wird sich wohl daran halten.

Michael

Semeaphoros:
Michael
Nein, Du stehst nicht mittendrin, Dir fehlt effektiv die "grundlegende" Definition, die will ich hier aber nicht in unsauberer Art und Weise geben, genau da soll ja der Kurs einsetzen. OO geht weit über das hinaus, was Du da antönst, auch wenn es solche Ansätze als Grundlage verwendet.

Wenn Du heute sagst, "ich programmiere sofort nur noch OO", dann wirst Du wohl eine Weile lang gar nichts mehr produktiv tun, weil Du das Denken ändern musst. Das ist aber jedem so gegangen, der erfolgreich von PO auf OOP umgestiegen ist, ich inklusive, das ist aber schon mal ungefähr 15 Jahre her (schon allein deswegen kann ich es nicht als Hype sehen, Hypes haben es so in sich, dass sie ziemlich kurzlebig sind).

Der Thread hier driftet in meinen Augen ziemlich ins Abseits, das Problem, das da im Moment auftaucht, wirklich begreifen lässt es sich nur in einer "ganzheitlichen Betrachtung" und die kann eine solche Diskussion hier eindeutig nicht bieten.

Semeaphoros:

--- Zitat von: -Michael- am 17.04.04 - 00:10:54 ---Was sind eigentlich meine Ziele bei einem Code:
- ein Außenstehender soll sich zurecht finden
- ich selbst soll es einfach haben: Änderungen nur an 1 zentralen Stelle
- übersichtlicher, sauber dokumentierter Code
- einheitliche Syntax
etc.

--- Ende Zitat ---

Das ist alles nicht eigentlich OOP, OOP kann dabei ein Hilfsmittel sein, dafür muss es aber richtig eingesetzt werden. OOP hilft - richtig eingesetzt - genau diese Ziele zu erreichen, OO ist dafür abrer nicht zwingend Voraussetzung und OO hat andere Eigenschaften. OOP falsch eingesetzt bewirkt genau das Gegenteil, nämlich Unübersichtlichkeit, und wer nicht mit einer BlackBox umgehen kann, ist bei OO völlig verloren (so Leute gibts, und die haben es immer schwerer im Leben, die BlackBoxes in unserer Umgebung nehmen rasant zu)

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln