Plätzchen

Status
Nicht offen für weitere Antworten.

f145h

Mitglied
Erstellen Sie eine Klasse Plaetzchen mit den folgenden Instanzvariablen:

sorte
groesse
form
Diese Variablen sind vom Typ String. Erstellen Sie danach eine Methode public void ausgeben(), die Informationen über die Objekte dieser Klasse ausgibt.



(1) Erzeugen Sie mit dem new-Operator ein Objekt der Klasse Plaetzchen.
(2) Weisen Sie über die Punktnotation Klassenname.Variablenname
den Instanzvariablen des Objekts Werte zu.
(3) Lassen Sie dann das Objekt seine Methode ausgeben() aufrufen.
(4) Testen Sie Ihr Programm.
(5) Erzeugen Sie zwei weitere Plaetzchen-Objekte und verfahren Sie wie oben.


Erzeugen Sie in der main() Methode die folgenden 3 Plaetzchen-Objekte:

Sorte Kokos, Groesse mittel, Form rund
Sorte Affennuss, Groesse klein, Form rund
Sorte Honigkuchen, Groesse gross, Form rechteckig


Die Ausgabe des Programms sieht dann folgendermaßen aus.

+++ Plaetzchenliste +++

Sorte Kokos, Groesse mittel, Form rund
Sorte Affennuss, Groesse klein, Form rund
Sorte Honigkuchen, Groesse gross, Form rechteckig

Lösung:

Code:
public class Plaetzchen {

	String sorte,groesse,form;
	
	public void ausgeben(){
		this.sorte=sorte;
		this.groesse=groesse;
		this.form=form;
			
			
	}
	 
	public static void main(String[] args) {
		Plaetzchen a=new Plaetzchen();//Objekt erzeugt
		a.form="rund";//mit Pnktnotation wertzugewiesen
		a.groesse="2mm";
		a.sorte="Schokolade";
		a.ausgeben();//was macht das?
		System.out.println(a.form+" "+a.groesse+" "+a.sorte);

//System.out.println(a.ausgeben());//wieso funktioniert das nicht?
		
		Plaetzchen b=new Plaetzchen();//Objekt erzeugt
		b.form="eckig";//mit Pnktnotation wertzugewiesen
		b.groesse="4mm";
		b.sorte="Vanille";
		b.ausgeben();//was macht das?
		System.out.println(b.form+" "+b.groesse+" "+b.sorte);

		Plaetzchen c=new Plaetzchen();//Objekt erzeugt
		c.form="rund";//mit Pnktnotation wertzugewiesen
		c.groesse="6mm";
		c.sorte="Karamel";
		c.ausgeben();//was macht das?
		System.out.println(c.form+" "+c.groesse+" "+c.sorte);

Frage: Für was brauche ich die methode public void ausgeben()??
 

@x.l

Bekanntes Mitglied
das
Code:
System.out.println(a.form+" "+a.groesse+" "+a.sorte);

soll allgemeingültig in der methode ausgeben stehen!
Code:
public void ausgeben() {
    System.out.prinln(form + "\t" + groesse + "\t" + sorte);
}

du schreibst dann nur noch
Code:
a.ausgeben();
und kannst dir System.out.println(...) sparen!
 
S

SlaterB

Gast
für
> (3) Lassen Sie dann das Objekt seine Methode ausgeben() aufrufen.

denn so wie du es im Moment ausgibst ist das sehr schlecht,
unzählige Male wiederholst du c.form+...
wenn sich irgendwann mal die Ausgabe ändert, und sei es nur die Reihenfolge,
dann musst du überall in deinem Code den Code ändern,

hättest du eine Operation ausgeben(),
dann musst du nur an dieser EINEN Stelle den Code ändern,

die Aufrufe a la
System.out.println(c.ausgeben()); (edit: oder gar nur c.ausgeben(), siehe Vorpost, je nachdem wie man es möchte)
bleiben überall gleich

gibt noch weitere Gründe (z.B. sollte main gar nicht den internen Aufbau von Plaetzchen kennen müssen)
aber das dürfte schon reichen...
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben