PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OOP-Anfänger kommt nicht klar



Crockett
18-04-2003, 16:41
Hallo!

Seit ca. 3 Tagen lerne ich (oder versuche es) OOP zulernen.
Mit ist der Sinn immernoch nicht klar geworden. Mir fällt immer etwas ein, wie es mit Subroutinen einfacher geht.

Hat mal jemand ein plausibles Beispiel oder Links zu Dokumenten die einem OOP näher bringen?

magpie
18-04-2003, 16:49
Hi

Versuchs mal hier http://www.oszhdl.be.schule.de/gymnasium/faecher/informatik/oop/

Oder schau mal hier, ich hatte das selbe Problem auch ;)
http://www.mrunix.de/forums/showthread.php?s=&threadid=30758&highlight=php+klassen

bischi
22-04-2003, 14:21
Einfach überspringen! (Mit drei Tagen hast du genügend Erfahrung um es bei Bedarf anzuwenden). Hab es auch so gemacht (und bei mir hat's funktioniert!!!)

:D MfG Bischi

peschmae
06-05-2003, 13:18
funktioniert ist ja wohl der falsche ausdruck :p

z. B. für GUIs ist OOP natürlich unverzichtbar, auch für Code - Recycling ist es sehr gut, wenn man sich das Design vorher sorgfältig ausdenkt

MfG Peschmä

bischi
06-05-2003, 15:00
Klar ist es für GUI unverzichtbar, jedoch brauchst du es da eh, ohne gross etwas davon zu merken!!! :D :D :D :D :D

MfG Bischi

peschmae
06-05-2003, 15:02
ja, aber dann nutzt du die Vorteile davon auch in keiner Art und weise aus

MfG Peschmä

bischi
06-05-2003, 15:08
Wenn du beispielsweise AWT brauchst, so nutzt du schon OOP. Somit nutzt jeder, der AWT oder Swing oder etwas ähnliches braucht die Vorteile von OOP.

MfG Bischi

peschmae
07-05-2003, 12:21
nöu, nicht zwingend

denn das zeugs bringt dann schon noch mehr als ein paar (hässliche) buttons

MfG Peschmä

bischi
07-05-2003, 21:35
Ich bekenne mich schuldig im Umfang der Anklage...

Klar kann es noch mehr, als ein paar (hässliche?) Buttons. Was ich jedoch sagen wollte: Ohne gross was zu lernen kannst du problemlos OOP anwenden!

MfG Bischi

arthur
07-05-2003, 22:12
Ohne gross was zu lernen kannst du problemlos OOP anwenden!
nicht wirklich, ohne echtes verständnis für oo kommst du auch bei awt
ganz sicher nicht weiter.
für kleine hacks reicht es aber sonst ...

gruss
Arthur

BLUESCREEN3D
07-05-2003, 23:01
Original geschrieben von Crockett
Mit ist der Sinn immernoch nicht klar geworden. Mir fällt immer etwas ein, wie es mit Subroutinen einfacher geht.

OOP ist eigentlich nur dazu da strukturierter programmieren zu können - kurz: alles was an variablen und funktionen zusammengehört in eine klasse packen
es gibt auch sehr viele situationen in denen es ohne oop einfach nur unübersichtlich oder unsinnig wird
ein gutes beispiel dafür wären spiele: stell dir ein spiel vor, in dem mehrere hundert kleine roboter zu sehen sind, die durch die gegend rennen - es wäre doch irgendwie sinnlos ein array mit deren koordinaten, eins mit ihrer farbe usw. zu erstellen und dann einzelne funktionen wie "bewegen" zu haben - stattdessen könnte man eine klasse "roboter" schreiben, da dann die variablen für koordinaten und farbe sowie die benötigten funktionen reinpacken und fertig :)
großer vorteil: ein neuer roboter ist einfach eine neue instanz der klasse und man ist nicht so auf arrays und so beschränkt - kurz: es ist oft einfach praktischer

es gibt natürlich auch noch andere vorteile, die ich aber bis jetzt noch nicht wirklich gebraucht habe: z.b. kapselung und vererbung von klassen

bischi
08-05-2003, 11:51
nicht wirklich, ohne echtes verständnis für oo kommst du auch bei awt
ganz sicher nicht weiter.

Du musst in erster Linie wissen, wie du das Zeugs anwendest. Willst du selber eine Klasse (Spiel mit Robotern) programmieren, hilft dir OOP schon (*nerv*: ich muss BLUESCREEN3D recht geben).

Also mein Tipp: Schau dir OOP mal an, bastel ein kleines Beispiel und dann kümmer dich nicht weiter darum, bis du es brauchst.

MfG Bischi :cool:

arthur
08-05-2003, 12:32
und dann kümmer dich nicht weiter darum
oo bei java ist nicht ein extra feature dass man benutzen kann oder nicht.
das ganze framework ist oo, "adapter", "observer" usw , das ist alles oo
wenn du das nicht wirklich verstehst, kommst du nicht über den level
von sehr einfachen programmen herraus.
wenn du es nicht möchtest ist ok, aber rate doch anderen nicht den
gleichen weg zu gehen. :)

gruss
Arthur

peschmae
08-05-2003, 12:47
ja, schlagt auf ihn ein :D

aber eigentlich habt ihr ja recht ;-)

MfG Peschmä

bischi
08-05-2003, 16:46
oo bei java ist nicht ein extra feature dass man benutzen kann oder nicht. das ganze framework ist oo, "adapter", "observer" usw , das ist alles oo
wenn du das nicht wirklich verstehst, kommst du nicht über den level
von sehr einfachen programmen herraus.

Dies versuch ich ja seit einer Ewigkeit zu sagen! Du musst einfach Java lernen und nicht speziell darauf achten, ob etwas OOP ist oder nicht!!!! Wenn du einmal das Prinzip kapiert hast, ist es völlig egal, ob du jetzt weisst, dass du mit

public class Hallo extends JWindow

ein OOP-Objekt erzeugst, oder ob du weisst, dass du damit ein Fenster erzeugst. Wichtig ist, dass du es bei Bedarf anwenden kannst, nicht ob du sämtliche theoretische Details weisst (will ich dir wirklich nicht verbieten). Wenn du beispielsweise weisst, wie ein Prozessor im Detail aufgebaut ist, ist das schön und gut, jedoch hilft es dir nicht weiter, wenn du HTML-Code schreibst... .

Ich hoffe, ich habe mich jetzt für alle klar ausgedrückt (auch für die, die noch nie C++ gesehen haben; Ich habe nämlich und ich habe mich grauenhaft aufgeregt, als im 5. Kapitel meines Buches etwas über OOP stand, obwohl ich ja eigentlich endlich Fenster entwerfen wollte.)

MfG Bischi

BLUESCREEN3D
08-05-2003, 19:17
Original geschrieben von bischi
Dies versuch ich ja seit einer Ewigkeit zu sagen! Du musst einfach Java lernen und nicht speziell darauf achten, ob etwas OOP ist oder nicht!!!!

java ist komplett oop - als anfänger benutzt man es also unbewusst und sollte vielleicht schon die grundlagen kennen:
-aufbau von klassen (auch wie man funktion und variablen in eine klasse packt und neue klassen definiert)
-instanzen von klassen

aber sowas wie kapselung und polymorphie brauchst du erstmal wirklich nicht

peschmae
09-05-2003, 09:06
erstmals nicht, aber später wohl schon

imho ist es besser, wenn man recht schnell weiss, was so alles möglich ist - nicht nötigerweise im detail, aber so dass man, wenn angebracht, sich die nötigen sachen im aneignen und verwenden kann

MfG Peschmä

bischi
09-05-2003, 10:52
@peschmae, @bluescreen: Da bin ich ja froh, dass wir uns endlich einig sind!!!

MfG Bischi

peschmae
09-05-2003, 10:58
stimmt ja gar net!

Ich finde weiterhin dass du, da du die möglichkeiten der OOP nicht abschätzen oder ausnützen kannst, darauf verzichten solltest, anderen zu erzählen, dass sie das gar nicht brauchen, nur weil du es nicht kannst...

MfG Peschmä