In BlueJ geht es einfach



Ähnliche Dokumente
3. Die Programmiersprache Java

Arbeiten mit BlueJ. Objektorientiertes Programmieren in Java mit BlueJ

Kapitel 1: Programmierung

3.2 Objekte und Klassen. Wir werden uns in diesem Kapitel näher mit Objekten und Klassen in Java beschäftigen.

1 Grundlagen der Objektorientierung

Umsetzung einer Klassenkarte in einer Programmiersprache

Ein erstes "Hello world!" Programm

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

Kapitel 1: Die ersten Schritte 1

1 Grundlagen der Objektorientierung

Am Anfang werden die Attribute deklariert public class Kreis {

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

Informatik 10 Objektorientiertes Modellieren und Programmieren mit Java

Rückgabewerte von Methoden

Informatik 1 mit BlueJ

Prof. Dr. Heinrich Müller. Informatik VII Universität Dortmund. Organisatorisches zum Vorkurs Informatik

Selbststudium OOP1 SW Programmieren 1 - H1103 Felix Rohrer

Grundelemente objektorientierter Sprachen (1)

Grundelemente objektorientierter Sprachen (1)

JAVA - Methoden

Selbststudium Programmieren & Algorithmen OOP1 FS13 Hochschule Luzern Technik & Architektur

1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster

2. Vererbung und Kapselung

Computeranwendung und Programmierung (CuP)

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans

Methoden und Wrapperklassen

Handbuch für die Erweiterbarkeit

Objekte und Klassen. Objekte, Klassen, Felder und Methoden, Ergebnistyp, Parameter, Signatur, Kommentare, Javadoc

Kapitel 1: Die ersten Schritte Thema: Programmieren Seite: 1

MIT WINDOWS LIVE MAIL 2009

Übungsblatt 1. Java Vorkurs (WS 2017)

Squeak verwenden. Neues Projekt starten. Werkzeuge. Einführung in die objektorientierte Programmierung

Probeklausur: Programmierung WS04/05

Praktische Informatik 1

Letztes Mal. static int ggt(int a, int b) { if (a == b) return a; else if (a > b) return ggt(a-b,b); else if (a < b) return ggt(a,b-a);

Übungen zum Bioinformatik-Tutorium. Blatt 3

Folge 1 - Arbeitsblatt 1

JAVA - Methoden - Rekursion

Elementare Konzepte von

KREISFEUERWEHRVERBAND SEGEBERG

Informatik 1 mit BlueJ

2010 Ing. Punzenberger COPA-DATA GmbH. Alle Rechte vorbehalten.

Probeklausur Informatik 2 Sommersemester 2013

Anleitung zum Umgang:

JAVA für Nichtinformatiker - Probeklausur -

Eclipse Tutorial.doc

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Praktikum 1: Einführung, BMI Rechner

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Computeranwendung und Programmierung (CuP)

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Kurze Bedienungsanleitung für den Java-Editor

Objektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services

ADT: Verkettete Listen

Übungen zur Vorlesung Wissenschaftliches Rechnen I

Objektorientierte Programmierung OOP Programmieren mit Java

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Themen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen

Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1

7. Objektorientierung. Informatik II für Verkehrsingenieure

Bedienungsanleitung für die Online - Kinderbetreuungsbörse des Landkreises Oldenburg

Objektorientierte Programmierung OOP Programmieren mit Java

Algorithmen implementieren. Implementieren von Algorithmen

Einstieg in die Informatik mit Java

Implementieren von Klassen

ÜBUNGEN ZUR OBJEKTORIENTIERTEN MODELLIERUNG

Selbsteinstufungstest Vorkurs Programmieren

Java Übung. Übung Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung. Werner Gaulke.

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

3. Bedingte Anweisungen

Programmieren I + II Regeln der Code-Formatierung

Starte Greenfoot und öffne das Szenario krabbe1. Es erscheint das Hauptfenster von Greenfoot mit dem geöffneten Szenario.

5.5.8 Öffentliche und private Eigenschaften

Einführung in die Programmierung

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Wird in Java zwischen Gross- und Kleinschreibung unterschieden?

Einstieg in die Informatik mit Java

Felder. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Einführung in das Programmieren Probeklausur Lösungen

2 Programmieren in Java I noch ohne Nachbearbeitung

Konfiguration von Opera für

Transkript:

Arbeiten mit BlueJ Compilieren, Editieren, Objekte erzeugen, Methoden aufrufen, Objekte inspizieren, vorhandene Klassen benutzen, eigene Klassen und Methoden erstellen

In BlueJ geht es einfach BlueJ durch Doppelklick starten Bluej.exe Neues Projekt öffnen Da passen dann viele Klassen hinein Name ausdenken: Demos

BlueJ, Erste Klasse... Neue Klasse Name: Hallo Klasse Hallo.java ist entstanden Die rechte Maustaste öffnet ein Kontextmenü. Damit können wir die Klasse z.b. editieren.

Editieren, Compilieren Der Editor enthält schon Beispielcode. Meistens werden wir diesen verändern editieren. Wir können ihn aber auch schon gleich übersetzen kompilieren cursor Shortcut: Strg-k

Editieren, Compilieren Text hinzufügen, kompilieren (Ctrl-k) alternativ: Kompilieren aus dem Kontextmenü (rechte Maustaste) aufrufen

Aufruf und Ergebnis Aufruf unserer Funktion main aus dem Kontextmenü Angebot, einige Strings als Parameter an main zu übergeben Das Ergebnis des Programms: Ein Konsolenfenster mit dem gewünschten Output

Objekte erzeugen Das KontextMenü bietet uns eine weitere Auswahl: new Hallo(). Damit erzeugen wir Objekte : Der Klasse im BlueJ- Fenster sieht man an, dass sie erfolgreich compiliert ist sie ist jetzt nicht mehr gestreift. Hier sind schon drei Objekte erzeugt worden

Objekte unser Ziel Objekte sind die Helden des Objektorientierten Programmierens. In BlueJ können alle Fähigkeiten der Objekte durch Kontextmenüs direkt aufgerufen werden. Zusätzlich kann man die Innereien der Objekte inspizieren (Inspect), oder das Objekt entfernen (Remove).

Figuren, als Objekte modelliert Wir öffnen das vorhandene Projekt shapes und erzeugen uns Objekte der Klassen Circle Square Triangle. Wir können den Objekten Namen geben, z.b.: kreis quadrat oder die Vorgabe-Namen circle_1 circle_2 triangle_1... akzeptieren. Wir halten uns an den allgemein akzeptierten Standard: Namen für Objekte beginnen immer mit Kleinbuchstaben!!! Namen für Klassen beginnen mit einem Großbuchstaben!!!

Warum sehen wir keinen Kreis? Wir inspizieren das Objekt kreis, indem wir aus dem Kontextmenü Inspect wählen.

isvisible = false Es öffnet sich ein Inspektor: Der kreis hat also diameter 30 xposition 20 color blue und die Eigenschaft isvisible false Wir müssen also diese Eigenschaft verändern. Aber wie?

Die Methode makevisible() Im KontextMenü von kreis finden wir die Methode makevisible(). Wir klicken diese an und der Kreis wird in einem Fenster sichtbar

Methodenerkundung Auf die gleiche Weise machen wir auch quadrat und triangle_2 sichtbar. Anschliessend probieren wir weitere Methoden, z.b. von square die Methode moveright( ) von kreis die Methode movedown( ) von square die Methode moveup( ) von square die Methode moveright( )

Methoden mit Argumenten Jetzt wollen wir die Größe des Quadrats ändern und wählen die Methode changesize(int) Es öffnet sich ein InputFenster, das uns auffordert, einen neuen Durchmesser einzugeben. int bedeutet, dass eine ganze Zahl verlangt ist. In dem Kästchen steht aber noch ein Kommentar //Change size... Size must be >= 0. Wir geben 100 ein und.

Weitere Objekte Wir fügen zwei weitere Kreise hinzu bewegen einen 100 nach rechts den anderen um 50 nach unten machen beide sichtbar wir sehen nur zwei blaue Kreise. Wo ist der dritte? Genau, der große blaue verdeckt den kleinen blauen oder umgekehrt Zum Glück finden wir im KontextMenü von circle_2 die Methode changecolor(string)

String-Argumente Wir sollen einen String, also einen Text in Anführungszeichen eingeben. Der Programmierer hat bemerkt, dass red, yellow, blue, etc. erlaubt sind : Jetzt sehen wir auch circle_2 :

Nach-Inspektion Wir schauen noch einmal im Inspektor für kreis nach und erkennen, dass die Felder diameter xposition yposition isvisible neue Werte haben. Offensichtlich kommen drei Typen von Werten vor int steht für ganzzahlige Werte, z.b. 1, 20, -300, 0, 42 String steht für Text, z.b. blue, OttoKar, ich habe fertig! boolean steht für einen der Werte true oder false (ohne ).

Ein Haus für BlueJ Versuchen Sie, diese idyllische Szene nachzuzeichnen Entwerfen Sie Ihr eigenes Haus Malen Sie Ihr eigenes Bild z.b. Fische im Aquarium Smileys eine Lokomotive...

Ein Maler als Java-Programm Bisher haben wir alle Manipulationen interaktiv erledigt. Kann man das auch programmgesteuert machen? Welche Aktionen waren notwendig: Kreise erzeugen und Namen geben z.b. kreis, circle_1, circle_2 Quadrate erzeugen und Namen geben z.b. quadrat Dreiecke erzeugen und Namen geben z.b. triangle_1, triangle_2. Wie kann man das durch eine Java-Klasse erledigen? Wir benötigen eine Klasse um Bilder zu produzieren, z.b. eine Klasse Maler

Neue Klasse: Maler Öffnen Sie in BlueJ das Projekt shapes und erzeugen Sie eine neue Klasse mit Namen Maler Editieren Sie diese

Die Klasse Maler Ausnahmsweise löschen wir alles, bis auf die Zeile class Maler Und die geschweiften Klammern { } Die Klammern sind die Wände unserer Malerklasse. Dazwischen kommen die Instruktionen, wie ein Maler konstruiert wird.

Was braucht ein Maler Jeder Maler d.h. jedes Objekt der Klasse Maler muss... Kreise, Quadrate und Dreiecke erzeugen und jedem einen Namen geben... eine Methode z.b. zeichnehaus( ) haben, die die Objekte an die richtige Stelle verschiebt sie vergrößert/verkleinert sichtbar macht ihre Farbe wechselt

Konstruktion der Objekte Die Erzeugung von Objekten besteht aus zwei Schritten Ein Name für das Objekt wird registriert Ein neues Objekt wird erzeugt und unter diesem Namen gespeichert Circle sonne; Registriere den Namen sonne für ein noch zu schaffendes Objekt der Klasse Circle. sonne = new Circle( ); Konstruiere ein neues Objekt der Klasse Circle und nenne es sonne Vorsicht: Java unterscheidet zwischen Groß- und Kleinschreibung.... CIRCLE Circle circle, sonne Sonne SOnne

Registrierung mit Erzeugung Jedes Objekt wird erzeugt und getauft. Wir können das auch in einem Schritt erledigen, z.b. ein neues Objekt der Klasse Circle erzeugen und diesem den Namen sonne geben: Circle sonne = new Circle( ); Registriere sonne als Name für ein Objekt der Klasse Circle Ein neues konstruiertes Objekt der Klasse Circle. = ; Unter dem soeben registrierten Namen sonne wird das neu konstruierte Objekt der Klasse Circle abgespeichert.

Die Klasse Maler mit allen Objekten Die Klasse lässt sich schon compilieren, und man kann bereits Objekte erzeugen...

Maler klecksel Im Kontextmenü der Klasse Maler finden wir die Methode new und erzeugen klecksel Dann inspizieren wir das Objekt klecksel

Inspektion von klecksel Der Inspektor findet bei klecksel die Felder sonne wand fenster dach Dies sind keine Zahlen, sondern Objekte der Klassen Circle Square Square Triangle. Ein Doppelklick folgt dem Link/Pfeil zu dem betreffenden Objekt, einem Circle:

Jetzt soll der Maler malen Wir müssen dem Maler eine Methode zur Verfügung stellen, ein Haus zu malen. Eine Java-Methode hat stets einen Kopf bestehend aus einen Ergebnistyp hier void einen Namen z.b. malehaus eine Parameterliste - hier leer, also ( )... und einen Rumpf, in dem steht, was sie tun soll, z.b. sonne.makevisible(); sonne.changecolor( yellow ) ; sonne.movehorizontal(100); dach.changesize(200); dach.makevisible();... etc....

Java-Methoden der Kopf Der Kopf einer Java-Methode: void malehaus( ) Typ des Berechnungsergebnisses. Wir wollen keinen Wert berechnen, daher void Selbstgewählter Name. Konvention: kleingeschrieben Liste der Parameter Darf nicht fehlen, auch wenn kein Parameter benötigt. Köpfe anderer Methoden void maleaquarium( ) void makevisible( ) void changecolor(string farbe) void movehorizontal(int distance) Eine mögliche Methode für Maler Eine Methode von von Circle, Square,.. Eine Methode mit String Parameter Eine Methode mit int Parameter

Java Methoden der Rumpf Der Rumpf einer Java-Methode heißt auch Block. Er besteht aus 1. einer öffnenden Klammer : { 2. einer Folge von Anweisungen, z.b.: Variablendeklarationen Zuweisungen Schleifen Aufrufen von void-methoden, z.b.: sonne.makevisible(); dach.changesize(100,150); sonne.movehorizontal(100);... 3. einer schließenden Klammer: }

Erste Malversuche von klecksel Wir erzeugen ein Objekt der Klasse Maler und nennen es klecksel. Im Kontextmenü von klecksel finden wir die Methode void malehaus( ) Und siehe da... Sonnenaufgang auf dem Campingplatz? Na ja, für den Anfang geht s doch, oder...?

Hausaufgaben werden direkt aus BlueJ an Ihren Tutor geschickt Einmalige Vorbereitung notwendig: Datei submission.defs von Übungsseite laden in Ihrem BlueJ\lib-Verzeichnis speichern Adresse des Postausgangsserver Ihres email-providers herausfinden. Zum Beispiel: aus dem Netz des Fachbereiches Informatik: mailhost.mathematik.uni-marburg.de aus T-Online: mailto.t-online.de aus web.de: smtp.web.de aus. Notfalls in Ihrem Mailprogramm nachschauen z.b. unter Tools/Account Settings komplette Liste deutscher Anbieter unter www.patshaping.de/hilfen_ta/pop3_smtp.htm

Einstellungen BlueJ starten Unter Werkzeuge/Einstellungen/Erweiterungen eintragen: Postausgangsserver(SMTP host) Eigene E-Mail Adresse Benutzernamen des Mail Kontos Damit sind die Vorbereitungen abgeschlossen

An die Arbeit Erzeuge BlueJ-Projekt z.b. mit dem Namen Zettel_1: Neues Projekt anklicken Projektnamen wählen (z.b.: Zettel_1) Erzeugen klicken BlueJ erstellt Verzeichnis mit Namen des Projekts Hier: Zettel_1

an die Arbeit Im Projektverzeichnis legt BlueJ alle zugehörenden Dateien ab Eine Datei Readme.txt Ihre Java-Klassen sonstige Dateien Hier können Sie jetzt mit BlueJ die Lösung erstellen Hauptsächlich: Java-Klassen programmieren Weitere Hinweise an den Tutor bitte in Readme.txt schreiben Falls Sie weitere Dateien mitsenden wollen, speichern Sie diese in dem Projektverzeichnis

Lösung einsenden 1. Mit Internet verbinden 2. Werkzeuge/Einsenden 3. Mit Browse Sendeschema (Tutor und Zettel) auswählen. Beispiel: Manuel Haim/Zettel 2 4. Einsenden 5. Evtl. noch eine kurze Nachricht an den Tutor 6. OK, das komplette Projektverzeichnis wird übertragen 7. Ein Schokoladeneis essen