Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)

Ähnliche Präsentationen


Präsentation zum Thema: "Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)"—  Präsentation transkript:

1 Java-Kurs - 11. Übung Klassen und Objekte: Vererbung (Fortsetzung)
abstrakte Klassen Grafik in Java das Abstract Windowing Toolkit (AWT) Öffnen und Schließen von Fenstern Zeichnen von Linien

2 Abstrakte Klassen Beispiel: geometrische Figuren
fläche() ausgeben() verschiedene geometrische Figuren, aber gleiche Schnittstellen Gemeinsame Oberklasse als Abstraktion Methode fläche() kann auf dieser Ebene nicht implementiert werden, da Flächenberechnung von konkretem Typ abhängt.

3 Definition abstrakter Klassen
abstract class Figur { abstract void ausgeben(); // Abstrakte Methode } Bei der Definition abstrakter Methoden werden nur die Methodenköpfe (Methodenname + Parameterliste) festgelegt.

4 Definition abstrakter Klassen
Anmerkungen I Eine Klasse ist abstrakt, wenn sie mindestens eine abstrakte Methode enthält. Abstrakte Klassen können auch konkrete Methoden und Variablen enthalten. Eine abstrakte Methode verspricht, daß alle nichtabstrakten Unterklassen dieser Klasse diese abstrakte Methode implementieren Von abstrakten Klassen lassen sich keine Instanzen erzeugen.

5 Definition abstrakter Klassen
Anmerkungen II Man kann trotzdem Referenzvariablen einer abstrakten Klasse erzeugen – diese dürfen aber nur Objekte von nicht abstrakten Unterklasse enthalten. Beispiel: Figur f= new Kreis(); f.radius = 4.0; Figur f1= new Figur(); Nicht möglich, da Figur abstrakte Klasse

6 Grafik in Java das Abstract Windowing Toolkit (AWT)
einfache, grundlegende Grafikfunktionen wird auch für Internet-Applikationen verwendet neu in Java 2 : Swing umfangreiche Bibliotheken für die Gestaltung und Behandlung komplexer Benutzeroberflächen Grafikdarstellung: Java 2D, Java 3D Nachteil: kann nicht (direkt) für Internet Anwendungen verwendet werden

7 Klassenhierarchie AWT
Component beliebige graphische Entitäten (from awt) geschachtelte Komponenten Container (from awt) eingebettete Programme eigenständige Programme „Toplevel Fenster“ Window Panel (from awt) (from awt) Fenster mit Bedienelementen „Sind sie sicher? Ja/Nein“ Frame Dialog (from awt) (from awt) Applet (from applet) FileDialog (from awt)

8 Beispiel: Öffnen eines Fensters
import java.awt.*; // Klassen des Java AWT einbinden class Fenster { public static void main (String args[]) { Frame fenster = new Frame("Mein Fenstertitel"); fenster.setSize(400,300); fenster.setVisible(true); }

9 Beispieldatei Datei zur vorigen Folie
\Java Uebung 11\Beispiele\Fenster.java

10 Fenster in Java AWT: Achtung!
Java hat die vollständige Kontrolle über das Fenster, d. h. kein automatisches Schließen des Fensters Rekonstruieren des Fensterinhaltes nach Überdeckung oder nach Verschieben. Aber: zu jedem Fenster ist (durch die Klasse Frame) die Methode paint definiert paint wird vom System automatisch aufgerufen, wenn der Fensterinhalt von einer Veränderung betroffen ist

11 Die Methode Paint Die Ausgabe in ein Fenster sollte durch die Überlagerung der Methode paint erfolgen paint bekommt beim Aufruf eine Instanz der Klasse Graphics übergeben. (diese referenziert die eigentliche Zeichenfläche) Definition von paint: public void paint (Graphics g)

12 Überlagerung der Methode paint

13 Beispiel zum Zeichnen in Java (I)
import java.awt.*; // Klassen des Java AWT einbinden class Grafik1 extends Frame { public static void main (String args[]) { Grafik1 my_window1 = new Grafik1(); } Grafik1() { super("Grafikbeispiel 1"); setSize(400,350); setVisible(true);

14 Beispiel zum Zeichnen in Java (II)
public void paint (Graphics g) { int i; // g.setColor(Color.red); for (i=0; i<=300; i=i+10) g.drawLine(20,35+i,300-i+20,35); // System.out.println("paint wurde aufgerufen!"); }

15 Beispieldatei Datei zur vorigen Folie
\Java Uebung 11\Grafik\Grafik1.java

16 Weitere Beispieldateien
\Java Uebung 11\Grafik\Grafik2.java \Java Uebung 11\Grafik\Grafik3.java

17 Übungsaufgaben Ergänzen Sie die Klassen Rechteck, Kreis etc. um Koordinaten, die die graphische Position und Zeichenfarbe der Objekte auf dem Bildschirm speichern. Schreiben Sie dann für jede Klasse die Methode graphisch_ausgeben, die die Objekte in einem Fenster ausgibt. Hinweis: der Methodenkopf von graphisch_ausgeben sieht wie folgt aus: void graphisch_ausgeben(Graphics g) { }


Herunterladen ppt "Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)"

Ähnliche Präsentationen


Google-Anzeigen