Hallöchen ich bins schonwieder, :toll:
diesmal bin ich dabei ein Dekorator Muster zu schreiben.
Der Dekorator der hier zu Implementieren bleibt soll Rabatt heißen und alle Objekte die
Betrag implementieren Dekorieren können und eine ganzzahligen Prozentsatz vom Preis abziehen.
Auf dem Papier dachte ich es sollte so funktionieren aber der Compiler gibt ne Fehlermeldung, die leider nichts aussagt da mein Compiler irreparabel kaputt zu sein scheint. Aber hier ist mein Versuch:
Ich freu mich auf eure Antworten ^^
Das Vorgegebene Interface und die vorgegebene Klasse.
für interessierte hier die Aufgabestellung:
diesmal bin ich dabei ein Dekorator Muster zu schreiben.
Der Dekorator der hier zu Implementieren bleibt soll Rabatt heißen und alle Objekte die
Betrag implementieren Dekorieren können und eine ganzzahligen Prozentsatz vom Preis abziehen.
Auf dem Papier dachte ich es sollte so funktionieren aber der Compiler gibt ne Fehlermeldung, die leider nichts aussagt da mein Compiler irreparabel kaputt zu sein scheint. Aber hier ist mein Versuch:
Ich freu mich auf eure Antworten ^^
Java:
/*für neuankömmlinge geändert*/
public class Rabatt extends Preis
{
public Preis preis; int rabatt =0;
public Rabatt(Preis preis,int a){
this.preis=preis;
rabatt = a;
}
public int berechneBetrag(){
return preis.getBetrag()*(1-(rabatt/100));
}
}
Das Vorgegebene Interface und die vorgegebene Klasse.
Java:
public interface Betrag {
int berechneBetrag();
}
Java:
public class Preis implements Betrag {
int derPreis;
public Preis(int p) { derPreis = p>=0 ? p : 0; }
public int berechneBetrag() { return derPreis; }
}
für interessierte hier die Aufgabestellung:
Code:
Gegeben sind das Interface Betrag und die Klasse Preis. Programmieren Sie eine Klasse
Rabatt, die jedes Objekt dekorieren kann, das zu einer Klasse gehört, die Betrag implementiert.
Die Klasse Rabatt soll einen ganzzahligen Prozentsatz verwalten, der beim Aufruf der Methode
berechneBetrag von dem berechneten Betrag des dekorierten Objekts abgezogen wird.
Zuletzt bearbeitet von einem Moderator: