/*
 * "Grundkurs Programmieren in Java - Band 1 (4. Auflage, 2007)"
 * 2001-2007, Carl Hanser Verlag
 * Loesungsvorschlag zu Aufgabe 11.11 a) (Version 4.0)
 * (c) 2001-2007 D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger
 *
 */

public class GelochtePlatte extends MetallPlatte {

  private int anzahlLoecher = 0;
  private double lochLaenge, lochBreite;
  private MetallPlatte[] loch;

  public GelochtePlatte (double laenge, double breite, int maxAnzahlLoecher) {
    super(laenge, breite);
    loch       = new MetallPlatte[maxAnzahlLoecher];
    lochLaenge = laenge/maxAnzahlLoecher/2;
    lochBreite = breite/maxAnzahlLoecher/2;
  }
  
  public void neuesLochStanzen () {
    if (anzahlLoecher < loch.length) {
      loch[anzahlLoecher] = new MetallPlatte (lochLaenge, lochBreite);
      anzahlLoecher++;
      System.out.println("Loch Nr. " + anzahlLoecher + " gestanzt");
    }
  }
  
  public double flaeche() {
    double f = super.flaeche();
    for (int i=0; i < anzahlLoecher; i++) 
      f = f - loch[i].flaeche();
    return f;
  }

}

