Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Tutorial

Warum OOP?

von RedakteurytwinkySeite 1 von 5

notthecheatr hat im engl.Forum einen Externer Link! interessanten Artikel gepostet und ich habe mich mal daran gesetzt, dies zu übersetzen.
[Übersetzung]
Das Original wurde geposted auf Externer Link! http://games.freebasic.net/forum aber jemand meinte, es wäre auch ein gutes Tutorial für einen Anfänger, deshalb poste ich es ebenfalls hier. Viel Spaß.
OOP könnte eine ziemlich nette Konvention für Programmierer sein, wenn sie sie für ihre großen Projekte übernehmen, für die sie bezahlt werden. Doch warum sollte sich ein Spiele-Programmierer damit befassen?
Dies ist - im Wesentlichen - die Frage, die kürzlich (ziemlich Off-Topic) in einer Diskussion gestellt wurde. Bevor ich nun eine hitzige Debatte über PRO und KONTRA von OOP starte(obwohl es viele Antworten dazu gab und es begann auch, in diese Richtung zu gehen..), will ich versuchen, diese Frage hier zu beantworten.
Beginnen wir mit dem Anfang der verfahrensorientierten Programmierung. Am Anfang gab es keine Prozeduren. Im Grund gab es nur Spaghetti-Code, sowie GROSSE BUCHSTABEN, Zeilennummern und diesen ganzen häßlichen Kram.

100 PRINT "ICH BIN DOOF"
200 GOTO 100

Obwohl es in einem so kleinen Programm nicht sonderlich stört, könnte es in großen Programmen extrem schwierig werden. Schwer zu lesen usw. und auch schwer zu schreiben.
Eines Tages entschieden sich die Programmierer irgendwo, es so zu machen:

Do
  Print "Ich bin doof"
Loop

Und weiterhin entschieden sie sich, es sogar so zu machen

Sub printDoof
  Print "Ich bin doof."
End Sub

Do
  printDoof
Loop

Wie strukturiert von ihnen! Nun, für einige war es vielleicht das Einfachste bei den GOTOs (hängen) zu bleiben. Es mag ziemlich niedlich erscheinen, daß es immer noch Programmierer gibt, die DAS benutzen. Ich weiß wirklich nicht, wie sie es schaffen, etwas Brauchbares zu schreiben(und auch noch zu debuggen oder Änderungen anzubringen), doch manche schaffen das wirklich. Aber zum größten Teil haben Programmierer von heute, eine eher strukturierte Syntax übernommen. Die ist nun nicht unbedingt effektiver - der selbe Code läßt sich mit GOTOs schreiben aber auch strukturiert - aber es ist viel einfacher für Menschen zu verstehen, debuggen, ändern, aktualisieren usw. Also nehmen wir das.
Mit strukturierter Programmierung könnte jemand auf eine nette Idee kommen. Naja, SUBs und FUNCTIONs könnten dahin tendieren, relativ lang zu werden:

Sub moveSprite (sprite As FB.Image Ptr, x As Integer, y As Integer, vx As Integer, vy As Integer, dieunddas As uInteger, diesdasundnochwas As Byte)
  '..
End Sub

Wird es klar, was ich meine? An die Sub werden 20 verschiedene Parameter übergeben und da liegt der Wunsch nahe, es einfacher zu gestalten, indem die Parameter gruppiert werden. Deshalb kommt jetzt das UDT(user-defined-type)-Konzept.

 

Gehe zu Seite Gehe zu Seite  1  2  3  4  5  
Zusätzliche Informationen und Funktionen
  • Das Tutorial wurde am 31.01.2008 von Redakteurytwinky angelegt.
  • Die aktuellste Version wurde am 13.08.2010 von Redakteurytwinky gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen