Die heutige Klausuraufgabe hab ich dann gleich mal in Eclipse umgesetzt und eben erst mal alles aufgeschrieben, was mir noch im Kopf gewesen ist. In der Klausur musste mit dokumentenechtem Stift auf Papier programmiert werden.
So, hier nun mein Ansatz:
Das Interface zusKosten.java
package KonferenzRaum;
public interface zusKosten {
public double zusKosten();
}
Die Klasse zusAust.java – für eventuelle Zusatzausstattung (z.B. Beamer)
package KonferenzRaum;
public class zusAust
implements zusKosten
{
private String name;
private double preis;
public zusAust(String name, double preis)
{
this.name = name;
this.preis = preis;
}
@Override
public double zusKosten() {
return preis;
}
public String toString()
{
return name + " " + preis + "EUR/Tag";
}
}
Die Klasse zusCate.java – ein Catering-Service
/*
* Catering Klasse, falls zum Konferenz-Raum noch ein
* Catering-Paket gebucht wird.
*/
package KonferenzRaum;
public class zusCate
implements zusKosten
{
private String name;
private int anzahlPers;
private double preisProPers;
public zusCate(String name, int anzahl, double preis)
{
this.name = name;
this.anzahlPers = anzahl;
this.preisProPers = preis;
}
@Override
public double zusKosten() {
return this.anzahlPers*this.preisProPers;
}
public String toString()
{
return "Catering-Menü: " + name + " für " + this.anzahlPers + " Personen\n" +
"Kosten pro Person: " + this.preisProPers;
}
}
die Klasse KonfRaum.java, von der wird nämlich geerbt:
package KonferenzRaum;
public class KonfRaum {
protected int plätze;
protected String name;
protected double preis;
public KonfRaum(String name, int p, double preis)
{
this.name = name;
this.plätze = p;
this.preis = preis;
}
public double getPreis()
{
return this.preis;
}
public String toString()
{
return name + " " + preis + "EUR";
}
}
und last but not least, die Klasse KonfRaumBuchung.java, um nun das Objekt zu erzeugen und die Berechung durch zu führen:
/*
* Catering Klasse, falls zum Konferenz-Raum noch ein
* Catering-Paket gebucht wird.
*/
package KonferenzRaum;
public class zusCate
implements zusKosten
{
private String name;
private int anzahlPers;
private double preisProPers;
public zusCate(String name, int anzahl, double preis)
{
this.name = name;
this.anzahlPers = anzahl;
this.preisProPers = preis;
}
@Override
public double zusKosten() {
return this.anzahlPers*this.preisProPers;
}
public String toString()
{
return "Catering-Menü: " + name + " für " + this.anzahlPers + " Personen\n" +
"Kosten pro Person: " + this.preisProPers;
}
}
Was noch fehlt ist das Array, das erstellt und mit den Zusatzausstattungen gefüllt werden sollte. Das liefere ich noch.
Ich gebe keine Garantie auf Vollständigkeit oder Richtigkeit, das soll nur als kleiner Anhalt dienen und hoffentlich für Diskussionsstoff sorgen.
Also, Feuer frei!