/**
  *
  * Programmieraufgabe P-24 (arithmetik.jar)
  * Leonhard Fellermayr
  *
  * @author Leonhard Fellermayr
  * @version 1.0
  *
  */

/** Implementierung der Klasse Mal (erweitert Ausdruck) */

public class Mal extends Ausdruck
{
	/** Eine Rechenoperation wie Mal besteht stets aus zwei Objekten
	  * vom Typ Ausdruck.
	  *
	  * @param a Linker Teil der Operation
	  * @param b Rechter Teil der Operation
	  *
	  **/

	Ausdruck a, b;

	/** Object accept (ArithmeticVisitor) : Wendet den uebergebenen Besucher
	  * auf den Ausdruck an.
	  *
	  * @param v Besucher (hier Instanz des SetVisitor oder des WertVisitor)
	  * @return Ergebnisobjekt nach dem Besuch des Visitors v beim Ausdruck
	  *
	  */

	public Object accept (ArithmeticVisitor v)
	{
		return v.visitMal (a, b);
	}

	/** Mal (Ausdruck, Ausdruck) : Konstruktor der Klasse.
	  *
	  * Besetzt die Instanzvariablen mit den uebergebenen Werten,
	  * um accept (ArithmeticVisitor) Zugriff zu ermoeglichen.
	  *
	  * @param a Linker Teilausdruck
	  * @param b Rechter Teilausdruck
	  *
	  */

	public Mal (Ausdruck a, Ausdruck b)
	{
		this.a = a;
		this.b = b;
	}

} // Mal
