Uni Aufabe: Vertiefung Rekursion, Einführung Objektorientierung

Lucky89s

Neues Mitglied
Aufgabe:
a) Snowman.java Schreiben Sie eine Klasse Snowman.java, so dass die folgende Klasse
SnowmenBuilding.java ausgeführt werden kann.

Teil der Aufgabe(Quelltext):

Java:
class SnowmenBuilding {
public static void main(String[] args) {
Snowman flaky = new Snowman();
Snowman iceBoy = new Snowman();
flaky.putNose();
flaky.putMouth("5 Steine");
flaky.putHat("Buntes Kopftuch");
flaky.putButtons(3);
iceBoy.putNose();
iceBoy.putArms();
iceBoy.putHat("Kochtopf");
Out.print("Das ist Flaky: ");
flaky.showSnowman();
Out.print("Das ist IceBoy: ");
iceBoy.showSnowman();
}
}

Die Klasse SnowmenBuilding darf nicht verändert werden. Für das obige Programm sollte sich
die folgende Ausgabe ergeben:

Das ist Flaky: Schneemann
mit Nase
ohne Arme
Mund ist 5 Steine
Hut ist Buntes Kopftuch
mit 3 Knöpfen
Das ist IceBoy: Schneemann
mit Nase
mit Armen
ohne Mund
Hut ist Kochtopf
ohne Knöpfe

Meine frage ist nun:

Was ist das z.B. flaky.putNose für ein Datentyp und wie rufe ich diesen auf?
Würde sich
Snowman flaky = new Snowman();
Snowman iceBoy = new Snowman();
nicht überschreiben?
 
G

Gonzo17

Gast
Meine frage ist nun:

Was ist das z.B. flaky.putNose für ein Datentyp und wie rufe ich diesen auf?
Würde sich
Snowman flaky = new Snowman();
Snowman iceBoy = new Snowman();
nicht überschreiben?

flaky und iceBoy sind Variablen vom Typ Snowman. Die Klasse Snowman musst du noch schreiben, steht ja auch ganz am Anfang, dass das die Aufgabe ist. Du legst einfach eine neue Klasse mit dem Namen Snowman an und schaust dann, was implementiert werden muss. Offensichtlich brauchst du einen Konstruktor ohne Parameter. Und offensichtlich brauchst du auch verschiedene Methoden, wie eben putNose(). Letztendlich siehst du ja an der Ausgabe, dass alle Eigenschaften des Schneemanns ausgegeben werden, das Ergebnis ist eben abhängig von dem, was gesetzt wurde. Das heißt im Endeffekt, dass du Attribute vom entsprechenden Datentyp in der Klasse Snowman angelegen musst, diese müssen passend initialisiert werden.
 

Neue Themen


Oben