Vererbung von Methoden -> HILFE

Status
Nicht offen für weitere Antworten.

d00d

Mitglied
ich hab hier ein programm, das ein kuchen objekt erzeugt und dieser kuchen wird dekoriert mit diversen zutaten. einmal soll der gesamtpreis berechnet werden, einmal der preis nur vom kuchen und einmal der preis von nur den optionen.

Code:
public abstract class Kuchen {

String beschreibung = "Kuchen";
float preis_kuchen = 0.0F;
float preis_optionen = 0.0F;

	public String getBeschreibung() {
	return beschreibung;
	}

        public float getPreis_optionen() {
        return preis_optionen;
        }

	public float getPreis_kuchen() {
	return preis_kuchen;
	}
		
	public abstract float preis();
}

Code:
public class Kaesekuchen extends Kuchen {
	
	public Kaesekuchen() {
	beschreibung = "Käsekuchen";
	preis_kuchen += 1.5F;
	
	}
		
	public float preis() {
	return 1.5F;
	}
	
	
}

Code:
public class Sachertorte extends Kuchen {


	public Sachertorte() {
	String beschreibung = "Sachertorte";
	preis_kuchen += 1.80F;
	}
	
	public float preis() {
	return 1.80F;		
	}
}

Code:
public abstract class Option extends Kuchen {

	public abstract String getBeschreibung();
	
	}

Code:
public class Schokostreusel extends Option {

Kuchen kuchen;

	public void Sahne() {preis_optionen +=0.10F;}

	public Schokostreusel(Kuchen kuchen) {
	this.kuchen = kuchen;
	
	}

	public String getBeschreibung() {
	return kuchen.getBeschreibung() + ", Schokostreusel";
	}
	
	public float preis() {
	return 0.10F + kuchen.preis();
	}
	
	public float getPreis_optionen() {
	return preis_optionen;
	}
	

}

p
Code:
ublic class Marzipanrosen extends Option {
Kuchen kuchen;

	public void Sahne() {preis_optionen +=0.15F;}

	public Marzipanrosen(Kuchen kuchen) {
	this.kuchen = kuchen;
	
	}

	public String getBeschreibung() {
	return kuchen.getBeschreibung() + ", Marzipanrosen";
	}
	
	public float preis() {
	return 0.15F + kuchen.preis();
	}
	
	public float getPreis_optionen() {
	return preis_optionen;
	}
	
}

Code:
public class Rosinen extends Option {

Kuchen kuchen;

	public void Sahne() {preis_optionen +=0.15F;}

	public Rosinen(Kuchen kuchen) {
	this.kuchen = kuchen;

	}

	public String getBeschreibung() {
	return kuchen.getBeschreibung() + ", Rosinen";
	}
	
	public float preis() {
	return 0.15F + kuchen.preis();
	}
	
	public float getPreis_optionen() {
	return preis_optionen;
	}
	

}

Code:
public class Sahne extends Option {
Kuchen kuchen;
	
	public void Sahne() {preis_optionen +=0.20F;}
	
	public Sahne(Kuchen kuchen) {
	this.kuchen = kuchen;

	}

	public String getBeschreibung() {
	return kuchen.getBeschreibung() + ", Sahne";
	}
	
	public float preis() {
	return 0.20F + kuchen.preis();
	}
	
	public float getPreis_optionen() {
	return preis_optionen;
	}
	

}

Code:
public class Main {

	public static void main(String[] args) {
	
	Kuchen kuchen1 = new Kaesekuchen();
	kuchen1 = new Rosinen(kuchen1); // Käsekuchen mit Rosinen dekorieren
	kuchen1 = new Schokostreusel(kuchen1); // Käsekuchen mit Schokostreusel dekorieren
	kuchen1 = new Schokostreusel(kuchen1); // Käsekuchen mit Schokostreusel dekorieren
	System.out.println(kuchen1.getBeschreibung() + " kostet " +
	kuchen1.preis() + " Euro.");
	System.out.println("Der Kuchen ohne Zutaten kostet: "+kuchen1.getPreis_kuchen()+" Euro");
	System.out.println("Die Optionen alleine ohne Kuchen kosten: "+kuchen1.getPreis_optionen()+" Euro");
	
	
	} 
}

und beim kompilieren kommt folgender fehler:

Main.java:12: cannot find symbol
symbol : method getPreis_optionen()
location: class Kuchen
System.out.println("Die Optionen alleine ohne Kuchen kosten: "+kuchen1.getPreis_optionen()+" Euro");

kann mir wer sagen warum das so is ?
 

d00d

Mitglied
ich habs jetzt oben umgebaut aber ich bekomm folgende ausgabe:

Kõsekuchen, Rosinen, Schokostreusel, Schokostreusel kostet 1.85 Euro.
Der Kuchen ohne Zutaten kostet: 0.0 Euro
Die Optionen alleine ohne Kuchen kosten: 0.0 Euro

warum steht da bei beiden varianten 0.0 ? jedesmal wenn der konstruktor von Rosinen, Sahne usw. ausgeführt wird wird ja die variable preis_optionen erhöht.
 

Marco13

Top Contributor
Mal Abgesehen davon ist die ... Struktur und Implementierung wohl nicht ganz das, was der Aufgabensteller sich dabei gedacht hat. Oder war "public abstract class Option extends Kuchen" vorgegeben? Natürlichsprachlich heißt das sinngemäß soviel wie "Schokostreusel sind ein Kuchen".

Poste ggf. mal die genauere Aufgabenstellung.
 

d00d

Mitglied
ja das war vorgegeben. sollte einfach ne aufgabe zum dekorierer entwurfsmuster sein.

als vorlage hab ich das gleiche mit getränk statt kuchen, kaffee/tee statt kasekuchen/sachertorte und milch/zucker statt sahne/rosinen vorliegen gehabt, das ich dann einfach umgebaut hab.

hier die aufgabenstellung (nr. 2 & 3)

http://www.knopper.net/bw/se/uebungen/uebung07.pdf
 

Marco13

Top Contributor
Hm. Eine Vorgabe sehe ich da jetzt nicht. Es macht IMHO keinen Sinn, dass Optionen von Kuchen erben. (Nebenbei: Ich finde dieses Beispiel für die Vermittlung des Decorator Patterns ja Klasse :D ). Ich würde es eher so verstehen, dass es eine (vielleicht abstrakte?) Klasse "DekorierterKuchen" gibt, und Sacher- und Käsekuchen davon erben. Die eigentlichen Dekorationen SIND aber eigentlich keine Kuchen. Schau vielleicht auch mal hier http://en.wikipedia.org/wiki/Decorator_pattern das Beispiel ist IMHO auch recht anschaulich...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Designentscheidung von Attributen/Methoden im Falle von Vererbung Java Basics - Anfänger-Themen 8
W Methoden Verständnisfrage Vererbung von Methoden Java Basics - Anfänger-Themen 14
E Vererbung super-Methoden Aufruf Java Basics - Anfänger-Themen 3
A Klassen Vererbung privater Methoden und Member Java Basics - Anfänger-Themen 12
C Methoden Vererbung private Attribute/public Methoden Java Basics - Anfänger-Themen 4
S Gehaltsberechnung (Vererbung, abstrakte Methoden) Java Basics - Anfänger-Themen 6
J Vererbung Vererbung von Methoden Java Basics - Anfänger-Themen 6
H Vererbung theoretische Frage zur Vererbung/Methoden Java Basics - Anfänger-Themen 7
T Vererbung und Zugriff auf Methoden von abgeleiteten Klassen Java Basics - Anfänger-Themen 2
M Vererbung und Sichtbarkeit von Methoden Java Basics - Anfänger-Themen 7
G Frage zur Vererbung und überschreiben von Methoden Java Basics - Anfänger-Themen 6
K Vererbung: Methoden mit und ohne Parameter? Java Basics - Anfänger-Themen 3
G Vererbung: Methoden die eigene Klasse zurückgeben Java Basics - Anfänger-Themen 8
R init-methoden vererbung Java Basics - Anfänger-Themen 5
L Klassen/Methoden/Objekt/Vererbung Java Basics - Anfänger-Themen 6
frau-u Problem mit Klassen und Vererbung - benutzen von Methoden Java Basics - Anfänger-Themen 2
T Vererbung von Attributen und Methoden, Verständnisproblem Java Basics - Anfänger-Themen 4
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
M Vererbung - Polymorphie Java Basics - Anfänger-Themen 37
L Java- Vererbung Java Basics - Anfänger-Themen 4
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 12
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 1
I JSON / XML Struktur mit Vererbung / Interfaces Java Basics - Anfänger-Themen 0
M Interface oder Vererbung? Java Basics - Anfänger-Themen 12
M Vererbung Java Basics - Anfänger-Themen 6
M Generics Vererbung Listen Java Basics - Anfänger-Themen 2
A Methoden Vererbung und Interface Java Basics - Anfänger-Themen 14
D Klassen und Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Java Basics - Anfänger-Themen 7
D Vererbung Java Basics - Anfänger-Themen 3
K Schleife berechnet kein Ergebnis (Vererbung) Java Basics - Anfänger-Themen 6
00111010101 Objektorientiertes Programmieren mit Vererbung (Zahlen in Array verschwinden) Java Basics - Anfänger-Themen 3
W Zur Vererbung: Wann und wie? Java Basics - Anfänger-Themen 35
H Datenkapselung, Vererbung und UML Java Basics - Anfänger-Themen 16
districon Super-Stichwort/ Vererbung Java Basics - Anfänger-Themen 3
YaU Vererbung erstellt NullPointerException? Java Basics - Anfänger-Themen 4
1 Vererbung Klassenattribute Java Basics - Anfänger-Themen 9
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
N Thema Vererbung Java Basics - Anfänger-Themen 31
A Vererbung Vererbung Übung Java Basics - Anfänger-Themen 5
B Vererbung - Sichtbarkeitsmodifikation - protected Java Basics - Anfänger-Themen 10
B Best Practice Unschlüssig ob Vererbung oder Interface Java Basics - Anfänger-Themen 2
G Java Vererbung Java Basics - Anfänger-Themen 8
Y Vererbung Konto - Anfangsprobleme Java Basics - Anfänger-Themen 7
A Vererbung Klassen im Bezug auf Auto´s Java Basics - Anfänger-Themen 18
A Klassen Vererbung und zusätzliche Unterklassen Java Basics - Anfänger-Themen 23
M Vererbung mit Enums Java Basics - Anfänger-Themen 8
Kirby.exe Vererbung im Detail erklärt? Java Basics - Anfänger-Themen 9
N Modellierung, vererbung, Java Basics - Anfänger-Themen 163
M Fehlendes Verständnis für dynamische Bindung und Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung im Computerspiel Java Basics - Anfänger-Themen 7
J Probleme mit Vererbung Java Basics - Anfänger-Themen 4
I Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung und Problem bei Zählschleife in einer Methode Java Basics - Anfänger-Themen 10
V Vererbung Java Basics - Anfänger-Themen 2
J Frage zur Vererbung Java Basics - Anfänger-Themen 1
J Vererbung Java Basics - Anfänger-Themen 3
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
O Vererbung Ueben mit kleiner Datenstruktur von Räumen Java Basics - Anfänger-Themen 10
O Umgang mit Vererbung verstehen Java Basics - Anfänger-Themen 4
A Vererbung/Interfaces/Generics Java Basics - Anfänger-Themen 12
O Vererbung änderung des Konstruktors Java Basics - Anfänger-Themen 8
L Vererbung Java Basics - Anfänger-Themen 5
E HashMap+Vererbung Java Basics - Anfänger-Themen 11
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
A Objekterstellung bei der Vererbung Java Basics - Anfänger-Themen 7
P Vererbung Warum funktioniert die Vererbung hier nicht Java Basics - Anfänger-Themen 14
S Vererbung Java mehrfach Java Basics - Anfänger-Themen 10
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
A Konstruktoren Vererbung Java Basics - Anfänger-Themen 3
ReinerCoder Vererbung von JFrame in einer Klasse entfernen Java Basics - Anfänger-Themen 5
W Vererbung, abstract und Konstruktoren Java Basics - Anfänger-Themen 30
J Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 11
G Polymorphie, Vererbung, statischer Typ, Laufzeittyp Java Basics - Anfänger-Themen 2
H Vererbung mit private instanzvariablen Java Basics - Anfänger-Themen 9
S Vererbung Funktionsweise Code zur Vererbung Java Basics - Anfänger-Themen 1
S Verständnis Vererbung Java Basics - Anfänger-Themen 3
D JavaFX Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Generizität und Vererbung Java Basics - Anfänger-Themen 4
A Vererbung bei Klassen mit Objekt der Klasse im Konstruktor Java Basics - Anfänger-Themen 4
K Vererbung Octagon von Circle Java Basics - Anfänger-Themen 0
B Hilfe bei Vererbung Java Basics - Anfänger-Themen 2
D Vererbung Frage zum Klassenaufbau mit Vererbung Java Basics - Anfänger-Themen 1
T Vererbung und interface. Java Basics - Anfänger-Themen 1
S Vererbung Java Basics - Anfänger-Themen 1
F Vererbung in zwei Richtungen? Java Basics - Anfänger-Themen 14
D Vererbung / Polymorphie Java Basics - Anfänger-Themen 5
O Vererbung Java Basics - Anfänger-Themen 5
MiMa Vererbung Theorie OK, Praxis ?? Java Basics - Anfänger-Themen 4
Arif Vererbung Vererbung Variablen überschreiben Java Basics - Anfänger-Themen 1
C Vererbung - Ausgaben bestimmen Java Basics - Anfänger-Themen 6
S Vererbung Java Basics - Anfänger-Themen 10
L Setter und Getter/Vererbung Java Basics - Anfänger-Themen 6
C Konstruktoren und Vererbung Java Basics - Anfänger-Themen 2
J Kleinere Frage zur Vererbung/Objekterzeugung Java Basics - Anfänger-Themen 2
G Vererbung Java Basics - Anfänger-Themen 12
J Vererbung privater Variablen Java Basics - Anfänger-Themen 7
B Vererbung Java Basics - Anfänger-Themen 12
K Vererbung (super) Java Basics - Anfänger-Themen 2
A ArrayQueue mit Exceptions und Vererbung Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben