Konrad-Adenauer-Gymnasium Langenfeld

Informatik Grundkurs Q1

Die Klasse Hersteller

Der Hersteller braucht für die Produktion eines Autos u.a. 4 Reifen, Felgen und 2 Achsen, die er aus dem Lager über die Methode entnehmen erhält. Ähnlich wie der Lieferant kennt der Hersteller den Namen seines Produkts, die maximale Herstellungszeit, das Produktionsvolumen sowie das Lager, aus dem er die Einzelteile entnimmt. Die Klasse Hersteller hat einen ähnlichen Aufbau wie die Klasse Lieferant. Der Hersteller arbeitet parallel zu den Lieferanten. Deshalb wird auch diese Klasse von Thread abgeleitet.

public class Hersteller extends Thread
{
  private int Herstellungszeit, Produktionsvolumen;
  private String Produkt;
  private Lager lager;
  public Hersteller(String Produkt,int Frist,int Volumen,Lager lager)
  {
    super(Produkt);
    this.Produkt=Produkt;
    Herstellungszeit=Frist;
    Produktionsvolumen=Volumen;
    this.lager=lager;
  }
  public void run()
  {
    for (int i=1;i<=Produktionsvolumen;i++)
    {
      lager.entnehmen(Produkt);
      try
      {
        int diff=(int)(Math.random()*Herstellungszeit);
        sleep(diff);
      }
      catch(InterruptedException e)
      {
      }
    }
  }
}

Im Konstruktor wird erneut erst der Konstruktor der Klasse Thread aufgerufen. Danach werden die Konstruktorparameter an lokale Eigenschaften übergeben.

In der run()-Methode wird nach dem gleichen Schema gearbeitet wie bei Lieferant.


© Ralph-Erich Hildebrandt, 27. September 2004