grobe Übersicht (vorläufig) objektorientierte programmierung (oop) mit java computer algebra...

38
Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote) Sozialpädagogisches Gymnasium Maurer / Folie 1 / 29.08.2006 Datenverarbeitung Jahrgangsstufe I

Upload: bruna-andes

Post on 05-Apr-2015

106 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Grobe Übersicht (vorläufig)

Objektorientierte Programmierung (OOP) mit Java

Computer Algebra System (CAS) Maple

Internet (Grundlagen, Dienste, eigene Angebote)

Sozialpädagogisches Gymnasium Maurer / Folie 1 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 2: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

OOP: Objektorientierung und Modell

Damit die Informatik reale Probleme lösen kann, muss die Wirklichkeit zunächst computerverständlich beschrieben werden: Man muss ein Modell der Wirklichkeit entwickeln.

Durch Abstraktion werden die wesentlichen Eigenschaften und Funktionen eines realen Objekts erfasst und gegen andere Objekte abgegrenzt: objektorientierte Analyse (OOA).

Kern der objektorientierten Programmierung (OOP) ist die Modellierung von Abstraktionen unter Verwendung von Objekten und Klassen.

Das Hauptschwierigkeit ist es dabei, die dem Problem angemessenen Abstraktionen, sprich Klassen und Objekte zu finden.

Sozialpädagogisches Gymnasium Maurer / Folie 2 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Quelle vieler Folien: Wilcek: Schule und Informatik 2004

Page 3: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Objektorientierung und Java

Die Umsetzung von OOP kann mit zahllosen Programmiersprachen (C, Java, Delphi, …) oder Software-Werkzeugen erfolgen. Die erste objektorientierte Computersprache war SIMULA-67, entwickelt 1967.

Wir werden Java verwenden. Ziel ist es mit Java, das OOP-Konzept zu konkretisieren und zu veranschaulich. es geht nicht um Programmier-Virtuosität Nebeneffekt: Förderung von genauem Denken und präzisem Arbeiten.

Sozialpädagogisches Gymnasium Maurer / Folie 3 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Quelle vieler Folien: Wilcek: Schule und Informatik 2004

Page 4: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Objektorientierung

Die zentralen Begriffe sind hier Objekt und Klasse.

Eine Klasse beschreibt eine Kategorie von Objekten.

Eine Klasse dient als Bauplan, Vorlage, Leitfaden oder eine Schablone für die Erzeugung neuer Objekte.

Eine Klasse definiert die Eigenschaften und Verhaltensweisen eines Objekts.

Sozialpädagogisches Gymnasium Maurer / Folie 4 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 5: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Beispiel: Kaffeemaschine

Sozialpädagogisches Gymnasium Maurer / Folie 5 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Objektorientierung

Quelle: Wilcek: Schule und Informatik 2004 und Bock; Schäfer: Java-Einführung. Uni Leipzig

Page 6: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Wasser hinzufügen

Füllstand kontrollieren

Kaffeebohnen hinzufügen

Füllstand kontrollieren

Sozialpädagogisches Gymnasium Maurer / Folie 6 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Kaffeemaschine: Funktion

Kaffee für eine Tasse erzeugen

Page 7: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Füllstand Wasser

Füllstand Kaffeebohnen

Sozialpädagogisches Gymnasium Maurer / Folie 7 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Kaffeemaschine: Zustandswerte

Page 8: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Funktion und Zustand

unterstützte Funktionen Füllen mit Kaffeebohnen Kontrollieren des Bohnenvorrats Füllen mit Wasser Kontrollieren des Wasserstands Kaffee für eine Tasse erzeugen

Interne Werte, die den Zustand definieren Wasserstand Bohnenvorrat

Zusammenhang zwischen Funktionen und Zuständen Kaffe kann nur bei ausreichender Menge Wasser und Kaffeebohnen

erzeugt werden Wasser kann nicht nachgefüllt werden, wenn Reservoir voll Bohnen können nicht nachgefüllt werden, wenn Reservoir voll

Sozialpädagogisches Gymnasium Maurer / Folie 8 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 9: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Innerhalb der Kaffeemaschine

Wie wird aus Wasser und Kaffeebohnen Kaffee? Die technische Realisierung interessiert bei der objektorientierten Betrachtungsweise nicht.

Für die breite und einfache Nutzung von Geräten und Konzepten ist es wichtig, dass der Nutzer wenig bis nichts über die interne Realisierung wissen muss.

Diese schlichte Erfahrung ist der Grundgedanke objektorientierter Analyse und Programmierung.

Sozialpädagogisches Gymnasium Maurer / Folie 9 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 10: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Von der Kaffeemaschine zu …

Ein Objekt ist eine handlungsfähige Einheit bestehend aus von außen nicht erkennbarem Zustand,

von außen nicht sichtbaren Funktionen,

von außen sichtbaren Funktionen (Methoden), die das extern sichtbare Objektverhalten bestimmen.

Ein Attribut ist ein „Behälter“ für einen Wert, der den inneren Zustand mitbestimmt.

Eine Methode ist eine von außen sichtbare Funktion eines Objekts.

Die Menge aller Methoden bilden die Schnittstelle eines Objekts.

Sozialpädagogisches Gymnasium Maurer / Folie 10 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 11: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Klasse und Objekt

Eine Klasse ist eine Definition, die eine Menge gleichartiger Objekte beschreibt, sie umfasst die gemeinsamen Attribute und Methoden der

Objekte.Ein Objekt ist ein Exemplar (Instanz), einer Klasse, hat Eigenschaften und Methoden, die in der Klasse festgelegt

worden sind, wird bei Bedarf aus der Klasse abgeleitet.

Nochmals:Eine Klasse ist eine Schablone für die Erzeugung neuer

Objekte.

Sozialpädagogisches Gymnasium Maurer / Folie 11 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 12: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Klassen und Objekte

Eigenschaften eines Objektes einer Klasse werden Attribute genannt und werden in Java durch Felder definiert.

Ein Feld in einer Klassendefinition ist eine Variable, die einen Wert speichern kann, der eine Eigenschaft des Objekts repräsentiert.

Das Verhalten eines Objektes einer Klasse wird durch Operationen definiert.

Operationen werden Java mit Hilfe von Methoden definiert.

Felder und Methoden in der Definition einer Klasse werden zusammen als member der Klasse bezeichnet.

Sozialpädagogisches Gymnasium Maurer / Folie 12 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 13: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Vertrag bzw. Implementierung

Der Vertrag (contract) definiert, welche Services von einer Klasse zur Verfügung gestellt werden.

Die Implementierung definiert, wie diese Services von der Klasse zur Verfügung gestellt werden.

Andere Objekte müssen lediglich die Verträge kennen, um zu wissen, auf welche Services der anderen Objekte und auf welche Weise zugegriffen werden kann.

Andere Objekte hat es nicht zu interessieren, wie der Service eines anderen Objekts im Detail funktioniert bzw. welche Implementierung hinter einem Service steckt.

Sozialpädagogisches Gymnasium Maurer / Folie 13 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 14: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Unified Modeling Language (UML)

Sozialpädagogisches Gymnasium Maurer / Folie 14 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Darstellung einer Klasse in UML Kurzform

Kaffeemaschine Kaffeemaschine

wasserstandbohnenvorratherstellername Felder Klasseseriennummer

zeigeBohnenvorrat() memberszeigeWasserstand()fuelleBohnen()fuelleWasser() MethodenerzeugeTasseKaffee()zeigeHerstellername()zeigeSeriennummer()

Klasse

Page 15: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Instantiierung

Instantiierung nennt man den Prozess, bei dem aus einer Klasse ein Objekt erzeugt wird.

Ein Objekt ist immer eine Instanz einer Klasse.Das Objekt wird nach dem „Bauplan“ erzeugt, den die Klasse

definiert.Ein Objekt hat eine Lebensdauer, es muss immer erzeugt

werden, bevor es im Programm benutzt werden kann. Spätestens am Programmende wird das Objekt zerstört.

Sozialpädagogisches Gymnasium Maurer / Folie 15 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 16: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Kaffeemaschine

wasserstandbohnenvorrat

herstellernameseriennummer

zeigeBohnenvorrat()zeigeWasserstand()fuelleBohnen()fuelleWasser()erzeugeTasseKaffee()zeigeHerstellername()zeigeSeriennummer()

Klassen und Objektdiagramm

Sozialpädagogisches Gymnasium Maurer / Folie 16 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Jura S50: Kaffeemaschine

wasserstand: 4bohnenvorrat: 22herstellername: Juraseriennummer:

m1: Kaffeemaschine

Wasserstand: 8bohnenvorrat: 5herstellername: Boschseriennummer:

masch3: Kaffeemaschine

Wasserstand: 11bohnenvorrat: 8herstellername: Boschseriennummer: S11753

Klasse Objekte (Instanzen der Klasse)

Page 17: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Instance members

Jedes Objekt hat seine eigene Kopie der Felder, die in der Klasse definiert worden sind.

Die Felder eines Objekts werden auch Instanz-Variablen genannt.

Die Methoden eines Objekts werden Instanz-Methoden. Jedes Objekt besitzt seine eigenen Instanz-Methoden.Wichtig: Die Implementierung der Methoden wird von allen

Objekten einer Klasse geteilt und ist in der Klasse definiert. Instanz-Variablen und Instanz-Methoden werden als

„instance members“ bezeichnet.

Sozialpädagogisches Gymnasium Maurer / Folie 17 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 18: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Static members

In manchen Fällen sollten „members“ nicht zu einem einzelnen Objekt, sondern zur Klasse gehören.

Beispiel: Zähler für die bisher erzeugten Objekte.Eine Klasse kann statische („static“) Variablen besitzen.Eine Klasse kann statische („static“) Methoden besitzen.

Statische Variablen und statische Methoden heißen „static members“.

Sozialpädagogisches Gymnasium Maurer / Folie 18 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 19: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Kaffeemaschine

wasserstandbohnenvorrat

herstellernameseriennummer

zaehler

zeigeBohnenvorrat()zeigeWasserstand()fuelleBohnen()fuelleWasser()erzeugeTasseKaffee()zeigeHerstellername()zeigeSeriennummer()

zeigeZaehler()

Klassendiagramm

Sozialpädagogisches Gymnasium Maurer / Folie 19 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

mit „static members“

Page 20: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

members

Klasse: Kaffemaschine

Sozialpädagogisches Gymnasium Maurer / Folie 20 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Statische Methoden

zeigeZaehler()

Instanz-MethodenzeigeBohnenvorrat()zeigeWasserstand()fuelleBohnen()fuelleWasser()erzeugeTasseKaffee()zeigeHerstellername()zeigeSeriennummer()

Statische Variablen

zaehler

Instanz-Variablewasserstandbohnenvorratherstellernameseriennummer

Felder

Methoden

members

Attribute

Verhalten

Objekte Klasse

Page 21: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Java

Und nun zu Java

Sozialpädagogisches Gymnasium Maurer / Folie 21 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 22: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Entwicklung von Java

1991 wurde eine Programmiersprache „oak“ entwickelt, die elektronische Geräte (Videorekorder, Telefone, etc.) miteinander kommunizieren lassen sollte.

Das Projekte scheiterte.Mit „oak“ ließen sich aber sehr gut Multimedea-Anwendungen

für das Internet entwickeln.1995 muss „oak“ aus patentrechtlichen Gründen umbenannt

werden. Bei der Abstimmung setzt sich Java gegen Silk und DNA durch. Der in den USA beliebte „Peet´s Java-Kaffee“ soll Pate gestanden haben.

Sozialpädagogisches Gymnasium Maurer / Folie 22 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 23: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Java

Einige Eigenschaften von Java: Java ist

objektorientiert

verteilt (Internetangepasste Programmiersprache)

einfach (Zeiger-Zugriffe und andere raffinierten Programmiertricks sind nicht möglich)

multithreaded (es können mehrere Prozesse parallel laufen)

sicher (viele gefährlichen Aktionen sind in Java-Programmen nicht zugelassen)

plattformunabhängig (läuft auf Windows, Unix, Mac, usw.), Näheres siehe Folie 28 f.

Sozialpädagogisches Gymnasium Maurer / Folie 23 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 24: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Applet und Applikation

Java-Applet

in Web-Seiten eingebettet,

wird von Web-Browsern ausgeführt,

aus Sicherheitsgründen eingeschränkte Rechte.

Java-Applikation

wird als Windows-Anwendung gestartet (oder von Kommandozeile aus),

wird auf Client oder Server ausgeführt,

volle Rechte einer eigenständigen Anwendung

Programmierung Applets und Applikationen sehr ähnlich

Sozialpädagogisches Gymnasium Maurer / Folie 24 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 25: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Java-Applet

Beschränkung der Rechte (Sandkasten-Prinzip: nur ungefährliches „Spielzeug“ zugelassen)

nicht lesend oder schreibend auf Dateien des lokalen Rechners zugreifen,

keine Programme starten, keine Bibliotheken laden, keine Verbindungen zu einem anderen Rechner (mit Ausnahme

des Rechners, von dem das Applet geladen wurde) aufnehmen,

keine System-Eigenschaften des lokalen Rechners auslesen, keine Top-Level-Fenster ohne Warnhinweise erzeugen,die virtuelle Maschine (JVM) nicht beenden.

Ratz: Grundkurs Programmieren in Java. Band 2. München 2003, S. 283

Sozialpädagogisches Gymnasium Maurer / Folie 25 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 26: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Java mit Eclipse

Sozialpädagogisches Gymnasium Maurer / Folie 26 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 27: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Java mit Eclipse

Es folgt

ein erstes Programm: Hello World!

Daran wird erläutert,

wie die Plattformunabhängigkeit der Java-Programme zustande kommt.

Sozialpädagogisches Gymnasium Maurer / Folie 27 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 28: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Hello World: 1. Programmierung

Programmierer schreibt Quelltext (Hello.java):

Sozialpädagogisches Gymnasium Maurer / Folie 28 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 29: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Hello World: 2. Kompilierung

Compiler übersetzt den Quelltext in Bytecode (Hello.java):

Sozialpädagogisches Gymnasium Maurer / Folie 29 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 30: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Hello World: 3. Ausführung

Java Virtual Maschine (JVM) interpretiert Bytecode und führt ihn aus

Sozialpädagogisches Gymnasium Maurer / Folie 30 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 31: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Plattformunabhängigkeit

Der Bytecode ist plattformunabhängig. JVM existieren für verschiedene Plattformen,damit ist der Bytecode auf verschiedenen Plattformen

ausführbar.

Sozialpädagogisches Gymnasium Maurer / Folie 31 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 32: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Geiergrafik

Wir werden jetzt die

Klasse Geier

verwenden, um einfache

Grafiken zu erstellen.

Sozialpädagogisches Gymnasium Maurer / Folie 32 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 33: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Geiergrafik: Zeichenfeld

Das Zeichenfeld besteht aus Bildpunkten (Pixel), die über x-y-Koordinaten angesprochen werden können. Allerdings ist werden die y-Koordinaten wie bei der Zeilenzählung nach unten gezählt.

0,0 0,600

0,300 50,300 600,300

300,450

0,600 600,600

Sozialpädagogisches Gymnasium Maurer / Folie 33 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 34: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Geiergrafik: Grundstruktur

Grundstrukturimport java.awt.*;

import java.applet.*;

public class Muster extends Applet {

Geier testGeier;

public void paint(Graphics screen){

testGeier = new Geier(10,10,0,screen);

// Hier folgen die Zeichenanweisungen.

}

}

Sozialpädagogisches Gymnasium Maurer / Folie 34 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Es handelt sich um ein Applet, keine Anwendung.

Objekt vom Typ Geier wird definiert und initialisiert.

Kommentarzeilen werden durch // eingeleitet.

Erzeugung eines Zeichenfelds.

Page 35: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Geiergrafik: Konstruktor

Konstruktor: Erzeugung eines Objekts der Geier-Klasse

Geier dreieck = new Geier(screen);

Start in (0 ,0) mit Blick nach rechts

Geier dreieck = new Geier(300,300,0, screen);

Start in (300 ,300) mit Blick nach rechts

Geier dreieck = new Geier(300,300,90, screen);

Start in (300 ,300) mit Blick nach oben

Sozialpädagogisches Gymnasium Maurer / Folie 35 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 36: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Geiergrafik: Methoden 1

Methoden (Werkzeuge) der Klasse Geier:

lt(winkel); Dreh Dich um soviel Grad, wie Winkel angibt, nach links. (left turn). {winkel vom Typ double} Z.B.: lt(120);

rt(winkel); Dreh Dich um soviel Grad, wie Winkel angibt, nach rechts. (right turn). {winkel vom Typ double } Z.B.: rt(120);

fd(strecke); Bewege Dich soviel Schritte in Pfeilrichtung, wie Strecke angibt. (forward) {strecke vom Typ double} Z.B.: fd(200); fd(-200); Bewege Dich entgegen der Pfeilrichtung.

pd(); Zeichne bei den folgenden Befehlen Deine Spur auf den Schirm. (Pen down)

pu(); Zeichne bei den folgenden Befehlen Deine Spur nicht auf den Schirm. (Pen up)

Sozialpädagogisches Gymnasium Maurer / Folie 36 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 37: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Geiergrafik: Methoden 2

setColor(farbe); Zeichne bei den folgenden Befehlen Deine Spur in der Farbe farbe. {farbe vom Typ Color} Die möglichen Farben befinden sich in der Klasse Color (was das heiß später). Jedenfalls werden sie mit Color.Farbname aufgerufen:Color.black Color.blue Color.cyan Color.darkGray Color.gray Color.green Color.lightGray Color.magentaColor.orange Color.pink Color.red Color.whiteColor.yellow Z. B.: farbeNeu(Color.red);

goTo(x,y,winkel); Bewege den Geier an die Position (x,y) mit dem Blick in Richtung winkel ohne eine Spur zu hinterlassen. {x,y vom Typ int} Von der Bildschirmmitte aus x Pixel nach rechts oder links, je nach Vorzeichen, y Pixel nach oben oder unten.

writeString (text); Schreibe an der aktuellen GeierPosition x,y den Text text. {Text vom Typ String, x,y vom Typ int } Z. B.: WriteString("Stern"); Der Text muss in Anführungszeichen geschrieben werden!

writeStringXY (text,x,y); Schreibe an der Position x,y den Text text. {Text vom Typ String, x,y vom Typ int } Z. B.:WriteStringXY("Stern",20,200); Der Text muss in Anführungszeichen geschrieben werden!

Sozialpädagogisches Gymnasium Maurer / Folie 37 / 29.08.2006Datenverarbeitung Jahrgangsstufe I

Page 38: Grobe Übersicht (vorläufig) Objektorientierte Programmierung (OOP) mit Java Computer Algebra System (CAS) Maple Internet (Grundlagen, Dienste, eigene Angebote)

Java

Eclipse ist eine schlichte Entwicklungsumgebung für Java-Programme.

Eine Klasse ist

Sozialpädagogisches Gymnasium Maurer / Folie 38 / 29.08.2006Datenverarbeitung Jahrgangsstufe I