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

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

der Universität Oldenburg
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
Abstrakte Klassen.
Ein Beispiel in Java.
Polymorphie (Vielgestaltigkeit)
Interface bzw. Schnittstelle anschaulich: Hüllenklasse
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Sommersemester 2003 Lars Bernard
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 6 Model-View-Controler als Grundlage für Nutzerschnittstellen Sommersemester 2003 Lars Bernard.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 8 Sitzung 8: Zeichnen in Java.
Java-Kurs Grafik Julian Drerup.
Programmieren mit JAVA
Programmieren mit JAVA Teil V. Grafikausgabe mit JAVA, das AWT Java wurde von Anfang an mit dem Anspruch entwickelt, ein vielseitiges, aber einfach zu.
1DVG3 - Paint Paint ein Zeichenprogramm. DVG3 - Paint 2 Paint – ein Zeichenprogramm.
DVG1 - Applets1 Applets. DVG1 - Applets2 Die Klasse Applet n Applets sind Grafikobjekte, die unter Steuerung eines anderen Programms (z.B. eines Browsers,
1DVG3 - anonyme Klassen Anonyme Klassen. DVG3 - anonyme Klassen 2 Syntax new BasisKlasse(Parameterliste) { Modifikationen und Erweiterungen der Basisklasse.
Abstrakte Klassen DVG
DVG Einführung in Java1 Einführung in JAVA.
03 - Paint Das Zeichenprogramm EMMA Paint2 Aufgabenstellung Entwicklung eines ausschließlich in JAVA programmierten Graphikprogrammes. Vergleichsprodukte:
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Step by step zum JFrame 1 Zum JFrame Step by step by step by step by step by step by step by step by.
Bestimmung des ggT zweier Zahlen
© 2005 Pohlig GK Informatik K Zum JFrame Step by step by step by step by step by step by step by step by.
© 2006 MPohlig Grundkurs Informatik mit Java 1 JFrame-Vorlage Step by step by step by step by step by step by step by step by.
FH-Hof Java2D - Grundlagen Richard Göbel. FH-Hof Java2D - Funktionen Java2D unterstützt: das Zeichnen von Grafiken die Darstellung von Texten die Darstellung.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
AWT und JFC Abstract Windowing Toolkit
Java ohne Kara. Java ohne Kara Ab jetzt: Java ohne Kara Ziel: Erfahrungen sammeln mit ersten Java Programmen.
Applets Java für’s Web.
CuP - Java Elfte Vorlesung Montag, 11. November 2002.
Programmierpraktikum Java SS 2005
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Instanzmethoden
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Java-Kurs Übung Benutzeroberflächen und Graphik
© 2005 Pohlig Informatik Jg. 11 mfH Michael Pohlig 1 Zum JFrame Step by step by step by step by step by step by step by step by.
Java-Kurs Übung Benutzeroberflächen und Graphik Frames (Fenster)
Java-Applets und URLs APP Philip Graf, Andreas Bößl.
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003.
Institut für Kartographie und Geoinformation Prof. Dr. L. Plümer, Dipl.-Ing. D. Dörschlag, Dr. G. Gröger Einführung in die Programmierung mit Java 13.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Java-Kurs - 9. Übung Besprechung der Hausaufgabe
Einführung in die OOP in Java
Objektorientierte Programmierung (OOP)
Abstrakte Klassen und das Interface-Konzept
GUI Programmierung in Java Branimir Djordjevic. GUI - Wichtige Begriffe -  Die Swing-Bibliothek in Java stellt zum Beispiel die folgenden Windows zur.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
Abstract Windowing Toolkit
Abstract Windowing Toolkit
Vererbung.
OOP II.
Java-Kurs Übung Grafik in Java - das Abstract Windowing Toolkit
Java-Kurs - 8. Übung Klassen und Objekte: Vererbung
Java-Kurs - 5. Übung Das Paradigma der Objektorientierung (OO)
Einführung in die Programmierung mit Java
Einführung in die Programmierung mit Java
Grundkurs Informatik 11-13
Mit der Turtle Java Programmieren
Mit Java die Turtle steuern
Interfaces Definition von Interfaces Verwendung von Interfaces
«Delegierter» Methoden Schablone Funktionszeiger
1. Die rekursive Datenstruktur Liste 1
 Präsentation transkript:

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

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.

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

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.

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

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

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)

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); }

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

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

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)

Überlagerung der Methode paint

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);

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!"); }

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

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

Ü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) { . . . }