Java und Objektorientierte Programmierung: Unterschied zwischen den Seiten

Aus ZUM-Unterrichten
(Unterschied zwischen Seiten)
main>Ugh
(anders formatiert)
 
main>Ugh
KKeine Bearbeitungszusammenfassung
 
Zeile 1: Zeile 1:
{{Babel-4|Java|Liste|Links|Software}}
== OOP Objektorientierte Programmierung ==
Objektorientierte Programmierung (OOP) ist ein Verfahren zur Strukturierung von Computerprogrammen, bei dem zusammengehörige Daten und die darauf arbeitende Programmlogik zu Einheiten zusammengefasst werden, den sogenannten Objekten.


{{Zitat wpde|'''Java''' ist eine [[OOP|objektorientierte]], plattformunabhängige [[Programmiersprachen|Programmiersprache]]. Üblicherweise benötigen Java-Programme zur Ausführung eine spezielle Umgebung (Java Virtual Machine). Der Vorteil ist, dass nur diese Umgebung an verschiedene Computer und [[Betriebssystem]]e angepasst werden muss. Sobald dies geschehen ist, laufen auf der Plattform alle Java-Programme ohne Anpassungsarbeiten.|Java (Programmiersprache)|22.10.05}}
Zumindest konzeptionell arbeitet ein Programm dann nicht mehr (wie bei der prozeduralen Programmierung) so, dass sequentiell einzelne Funktionsbereiche eines Algorithmus durchlaufen werden, der dabei eine Anzahl Daten verändert, sondern die Programmlogik entfaltet sich in der Kommunikation und den internen Zustandsveränderungen der Objekte, aus denen das Programm aufgebaut ist.


{{Kasten gelb|
Vorteile der objektorientierten Programmierung liegen in der besseren Modularisierung des Codes, dadurch bedingt in einer höheren Wartbarkeit und Wiederverwendbarkeit der Einzelmodule, sowie in einer höheren Flexibilität des Programmes insgesamt, insbesondere in Bezug auf die Benutzerführung, da Programme dieser Art weniger stark gezwungen sind, dem Benutzer bestimmte Bedienabläufe aufzuzwingen.
;Sei mutig! Mach mit!
* Wenn du noch Beispiele und Ideen aus dem Unterricht hast, dann gib sie doch einfach frei, indem du hier einen Artikel anlegst oder ergänzt. Es ist ganz einfach!
* Falls du Dinge von hier ausprobierst, so hinterlass doch einen kurzen Kommentar auf der Diskussionsseite.
* Wenn du eigene Beispiele oder Tutorials im Netz hast oder gute Beispiele kennst, dann ergänze doch hier Links.
}}


__NOTOC__
=== Warum OOP? ===


{{Kastendesign|
* http://www.learnline.de/angebote/oop/medio/didaktik/grundlagen/warum.html
BORDER = #97BF87|
BACKGROUND = cornflowerblue|
BREITE =100%|
BILD = Java.png|
ÜBERSCHRIFT =Unterseiten|
|INHALT1='''Liste sortiert nach Inhalten'''
;Theorie und Modellierung
* [[Objektorientierte Programmierung]]
* [[Objekt]], [[Klasse (Informatik)]], [[Methode (Informatik)]]
* [[UML]]
;Algorithmik
* Eingabe, Ausgabe
** [[Java/Texteingabe]]
* [[Java/Numerische Datentypen]]
** [[Java/Runden]]
* [[Java/Primitive Datentypen]]
* [[Java/Logische Operatoren]]
* if-else-Abfragen
** [[Java/PQ-Formel]]
** [[Java/Uhr]]
* [[Java/Rekursion]]
** [[Java/ggT]]
* [[Java/Zufallszahl]]
;OOP
* [[Java/Objekt-Interaktion und Fußball-WM]]
;Datenstrukturen
* [[Java/Array]]
* [[Java/Queue]]
** [[Java/Einführungsbeispiel Array]]
* [[Java/List]]
** [[Java/List/Liste mit GUI]]
** [[Java/Zahlenliste]]
;Anwendungen
* [[Java/Netzwerkprogrammierung]]
;Grafik und GUI
* [[Java/Applet]]
* [[Java/Turtle-Grafik]]
;Beispiele und Projekte
* [[Java/Onlinebank Einsteigerbeispiel]]
* [[Java/Bahnanzeige]]
* [[Java/Eigene Spiele]]
** [[Java/Pong]]
;IDE und Software
* [[Java/BlueJ]]
* [[Java/Hamster]]
* [[Java/Software]]
;Tutorials und Hilfen
* [[Java/Glossar]]


|INHALT2='''alphabetisches Verzeichnis'''
=== Weblinks ===
Hier werden alle Seiten aufgeführt, deren Namen nach folgendem Prinzip aufgebaut ist: '''Java/Artikelname'''
* http://www.educeth.ch/informatik/javastep/oop/begriffe.html - OOP Begriffe (Bspl. in Java)
<subpages/>
}}


{{Kastendesign|
BORDER = #97BF87|
BACKGROUND = cornflowerblue|
BREITE =100%|
BILD = Web-browser.png|
ÜBERSCHRIFT =Zubehör und Hilfen|
INHALT1=


===[[IDE]]s===
* [http://oszhdl.be.schule.de/gymnasium/faecher/informatik/oop/index.htm Definitionen und Grundkonzepte] (OSZ Handel I)
* [[Java (Software)]]
* [http://oszhdl.be.schule.de/gymnasium/faecher/informatik/ooa-ood/index.htm Unterrichtsmaterialien zu OOA - OOD - OOP] (OSZ Handel I)
* [[BlueJ]], dort auch Netbeans BlueJ-Edition
* [http://www.oszhandel.de/gymnasium/faecher/informatik/delphi/implementation_oo.htm OOP mit DELPHI - Hinweise zur Implementierung] (OSZ Handel I)
* [[Eclipse]]
* [http://lernen.bildung.hessen.de/informatik/javaeditor/index.htm|Java Editor (Hessen)]
 
===Unterrichtsgänge in Java (extern)===
* [http://informatik.zum.de/pieper/ Java-Reader] von Uli Pieper (alias ugh)
* [http://www.u-helmich.de/inf/ Online Material] von U. Helmich
* [http://www.saar.de/~awa/download.htm Java in der Sek II] von Axel Wagner
* [http://www.gymmelk.ac.at/~nus/informatik/wpf/JAVA/index.php?kat=grund&teil=grund Nussbaumer - JAVA (eine kleine Einführung)] dazu: http://www.gymmelk.ac.at/~nus/informatik/wpf/JAVA/javahtml/index.html
*[http://www.zitadelle.juel.nw.schule.de/if/java/java.html Materialien] des Gym. Zitadelle, Jülich
*[http://www.gailer-net.de/tutorials/java/java-toc.html Java lernen interaktiv]
*[http://www.gymmelk.ac.at/nus/informatik/wpf/JAVA/index.php Unterrichtsbeispiele zu JAVA]
*[http://mathsrv.ku-eichstaett.de/MGF/homes/grothmann/java/ Java Vorlesung mit vielen Übungen]
* [http://www2.dgb.ch/users/soe/Informatik/java/index.htm Eine Einführung in die Sprache, das Konzept der OOP und das Umfeld im Internet]  "Der Kurs wird noch immer weiterentwickelt. Sie müssen also neue Versionen mit "Neu laden" holen und auf tote Links gefasst sein. Diese Webseiten sind Begleitmaterial zu Fakultativkursen am Deutschen Gymnasium Biel und damit nicht selbserklärend!"
 
|INHALT2=
===Kurse===
* [[Bild:Wikibooks20.gif]] [[wikipedia:b:Java|Java]] - Ein Wikibook-Kurs im Aufbau
* [http://www.programmierkurs-java.de/ Programmierkurs der Uni Oldenburg] - Den Kurs gibt es in verschiedenen Varianten (Powerpoint- und PDF-Folien, Filme) zusammen mit Übungen und Beispielprogrammen.
===E-Bücher===
* [http://www.javabuch.de/download.html Handbuch der Java-Programmierung] - Auch das neuste Buch des Standardwerkes (Nachfolger von "Go To Java 2") von Guido Kröger kann als gepackte Datei in Form von HTML-Seiten heruntergeladen werden. Dazu gibt es auch Beispieldateien.
* '''Java ist auch eine Insel''' - als [http://www.galileopro.de/openbook/javainsel5/galileocomputing_javainsel5.zip HTML-Version]  bei [http://www.galileocomputing.de/katalog/openbook/ Galileo-Open-Books] herunterladbar.
* '''Java 2''' Buch, das als [http://www.galileocomputing.de/openbook/java2/ HTML-Version] bei [http://www.galileocomputing.de/katalog/openbook/ Galileo-Open-Books] heruntergeladen werden können.
* '''Thinking in Java, 3rd Edition''' - [http://www.linuxguruz.org/ebooks/eckel/TIJ-3rd-edition2.0.zip Download]
===Kurztutorial===
* [http://www.boku.ac.at/javaeinf/ '''Kurztutorial'''] (erlaubte Vervielfältigung nichtkommerziell - passt auf eine Diskette)
* http://www.highscore.de/
===Tipps und Tricks===
* [http://www.bastie.de/java/howto/index.html How to...]
}}
 
==Hallo Welt in Java==
{{Zitat wpde|Einfache Beispiele von Computerprogrammen, die zum Beispiel zur Demonstration verwendet werden, bestehen häufig nur aus ein paar Zeilen Programmcode, die den Text Hallo, Welt! oder auf Englisch Hello, world! ausgeben. Dieses Programm soll als eines der einfachst möglichen zeigen, was für ein vollständiges Programm (in der betreffenden Programmiersprache) benötigt wird, und einen ersten Einblick in die Syntax geben. Ein solches Programm ist auch geeignet, die erfolgreiche Installation eines Compilers für die entsprechende Programmiersprache zu überprüfen.|Hallo-Welt-Programm|09.10.06}}
<java>
  public class Hallo
  {
      public static void main(String[] args)
      {
        System.out.println("Hallo Welt!");
      }
  }
</java>
 
==Java als Programmiersprache im Unterricht==
{{Kasten gelb|'''Java''' wird immer häufiger als [[Programmiersprachen|Programmiersprache]] im Unterricht verwendet.
* Entsprechend gibt es '''zahlreiche Literatur, Fortbildungen und Software''' zum Thema Java im Unterricht.
* Java ist '''kostenlos und plattformunabhängig'''. Java ist stabil, aufgrund der Vielzahl der Versionen und Rechnerkonstellationen kann es aber zu unvorhergesehenen Problemen kommen.
* Java ist auf den ersten Blick '''bedienerunfreundlich'''. Bereis die Abfrage Tastatur in Programmen gestaltet sich schwierig. Andererseits gibt es '''Software, die diesen Mangel ausgleichen''' (z.B. [[BlueJ]]).
* Da Java '''objektorientiert''' ist, in der '''Industrie häufig benutzt''' wird und aktuell weite '''Verbreitung auf Handys''' bekommt, lässt sich sagen, dass Java im Trend ist und für Schüler daher '''motivierend'''.
* '''Applets''' lassen sich einfach im Internet veröffentlichen, was die Motivation weiter steigert.
* Vom Anspruch an die Rechner ist Java zwar '''speicherhungrig''' (mögl. mind. 128MB RAM), stellt aber '''keine hohen Erwartungen an den Prozessor''' (Pentium II möglich).
* '''Fazit:''' Die Hürde zum ersten Pieps ist hoch, wird aber dadurch ausgeglichen, dass man eine moderne und vielseitige Sprache im Unterricht hat, mit der man sämtliche Anwendungen schreiben kann.
}}
 
== Siehe auch ==
* [[Programmiersprachen]]
* [[Informatik]]
 
[[Kategorie:Informatik]]
[[Kategorie:Programmiersprache]]
[[Kategorie:Java]]

Version vom 3. August 2005, 12:14 Uhr

OOP Objektorientierte Programmierung

Objektorientierte Programmierung (OOP) ist ein Verfahren zur Strukturierung von Computerprogrammen, bei dem zusammengehörige Daten und die darauf arbeitende Programmlogik zu Einheiten zusammengefasst werden, den sogenannten Objekten.

Zumindest konzeptionell arbeitet ein Programm dann nicht mehr (wie bei der prozeduralen Programmierung) so, dass sequentiell einzelne Funktionsbereiche eines Algorithmus durchlaufen werden, der dabei eine Anzahl Daten verändert, sondern die Programmlogik entfaltet sich in der Kommunikation und den internen Zustandsveränderungen der Objekte, aus denen das Programm aufgebaut ist.

Vorteile der objektorientierten Programmierung liegen in der besseren Modularisierung des Codes, dadurch bedingt in einer höheren Wartbarkeit und Wiederverwendbarkeit der Einzelmodule, sowie in einer höheren Flexibilität des Programmes insgesamt, insbesondere in Bezug auf die Benutzerführung, da Programme dieser Art weniger stark gezwungen sind, dem Benutzer bestimmte Bedienabläufe aufzuzwingen.

Warum OOP?

Weblinks