next up previous contents
Nächste Seite: Vorgegebene Klassen und Methoden Aufwärts: Methoden überladen Vorherige Seite: Ein einführendes Beispiel   Inhalt

Konstruktoren überladen

Konstruktoren werden analog zu Methoden überladen. Im folgenden Beispiel können entweder die Eingabewerte fehlen, oder es wird fallweise ein Quadrat oder ein Rechteck berechnet:

class rechteck {
    double a;
    double b;  

    rechteck () {
        System.out.println("Keine Eingabewerte :-(");
    }

    rechteck (double seite) {
        a = seite;
        b = seite;
        System.out.println("Quadrat...");
    }

    rechteck (double laenge, double breite) {
        a = laenge;
        b = breite;
    }

    double cut2 (double zahl) {
        return (int) (zahl * 100) / 100;
    }

    double umfang() {
        return cut2(2*(a+b));
    }
}

public class class2 {
    public static void main (String [] args) {
        rechteck r = new rechteck();
        rechteck r1 = new rechteck(3.2);
        System.out.println("Länge: " + r1.a);
        System.out.println("Breite: " + r1.b);
        System.out.println("Umfang: " + r1.umfang());
        rechteck r2 = new rechteck(4.5, 5.5);
        System.out.println("Länge: " + r2.a);
        System.out.println("Breite: " + r2.b);
        System.out.println("Umfang: " + r2.umfang());
    }
}

In der Reihenfolge der Objekte und Methodenaufrufe erhalten wir:

Keine Eingabewerte :-(
Quadrat...
Länge: 3.2
Breite: 3.2
Umfang: 12.0
Länge: 4.5
Breite: 5.5
Umfang: 20.0



Alfred Nussbaumer 2003-02-10