Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1DVG3 - anonyme Klassen Anonyme Klassen. DVG3 - anonyme Klassen 2 Syntax new BasisKlasse(Parameterliste) { Modifikationen und Erweiterungen der Basisklasse.

Ähnliche Präsentationen


Präsentation zum Thema: "1DVG3 - anonyme Klassen Anonyme Klassen. DVG3 - anonyme Klassen 2 Syntax new BasisKlasse(Parameterliste) { Modifikationen und Erweiterungen der Basisklasse."—  Präsentation transkript:

1 1DVG3 - anonyme Klassen Anonyme Klassen

2 DVG3 - anonyme Klassen 2 Syntax new BasisKlasse(Parameterliste) { Modifikationen und Erweiterungen der Basisklasse } Z.B.: Button lineButton = new Button() { public void paint(Graphics g) { g.drawLine(0,0,100,100); } }; lineButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {... } } ); Anonyme Klasse können ausschließlich in der new -Anweisung definiert werden. Anonyme Klassen können von Interfaces abgeleitet werden.

3 DVG3 - anonyme Klassen 3 Wann werden anonyme Klassen verwendet Anonyme Klasse wird von einer anderen Klasse abgeleitet und unterscheidet sich wenig von ihr. Der Modifikationstext sollte kurz, übersichtlich und leicht verständlich sein. Definition der anonymen Klasse direkt bei der Erzeugung eines Objektes dieser Klasse. Vorteile: Text wird kompakter und evtl. übersichtlicher. Nachteile: Es kann nur ein Objekt der anonymen Klasse erzeugt werden. Es können keine Konstruktoren modifiziert werden. Stattdessen kann ein Objekt-Initialisierungsblock verwendet werden.

4 DVG3 - anonyme Klassen 4 Beispiel import java.awt.*; public class AnonymeKlasse { public static void main(String [] args) { Frame f = new Frame("AnonymeKlasse"); f.setBounds(0,0,200,200); f.add( new Panel() { public void paint(Graphics g) { Rectangle b=getBounds(); g.fillRoundRect (10,10,b.width-20,b.height-20,40,40); } } ); f.setVisible(true); } }

5 DVG3 - anonyme Klassen 5 Objekt-Initialisierung Analog zum statischen Initialisierungsblock static {... } gibt es die Objekt-Initialisierung {...} Der Objekt -Initialisierungsblock steht im Definitionsteil der Klasse, nicht innerhalb von Methoden. Der Objekt -Initialisierungsblock wird nach dem statischen Initialisierungsblock und vor dem Konstruktor abgearbeitet. Es können mehrere statische und mehrere Objekt-Initilisierungsblöcke vorkommen.

6 DVG3 - anonyme Klassen 6 Beispiel public class ObjektInitialisierung { public static void main(String[] args) {EI e = new EI(); System.out.println("Hello World!\nMath.E = " +e.eJAVA+"\nEI.E = "+e.eComp); } } class EI { public double eJAVA = Math.E; public double eComp = 0.0; { long n = 1; double eps = 1.0; while (eps>1.0E-10) { eComp+=eps; eps/=n++; } } }


Herunterladen ppt "1DVG3 - anonyme Klassen Anonyme Klassen. DVG3 - anonyme Klassen 2 Syntax new BasisKlasse(Parameterliste) { Modifikationen und Erweiterungen der Basisklasse."

Ähnliche Präsentationen


Google-Anzeigen