Kleine Frage zu OOP

Ok, hab es in den alten Threads auf Seite 16 gefunden:

public void testHaus() {
Person p1 = new Person("Hans");
Haus h = new Haus("Das ist die Adresse", p1, 2);
Familie[] f = new Familie[2];
assertEquals("Das ist die Adresse", h.getAdresse());
assertEquals(2, h.getAnzahlWohneinheiten());


Schau mal in den Konstruktor von Haus: Setzt du am Ende die Property anzahlWohneinheiten? Also sowas wie
this.anzahlWohneinheiten = anzahlWohneinheiten;
(anzahlWohneinheiten war der Parameter, der versteckt die Instanzvariable. Daher Zugriff auf Instanzvariable mit "this." davor.)
 
Java:
	public Haus(String adresse, Person besitzer, int anzahlWohneinheiten) {
		this.adresse = adresse;
		this.besitzer = besitzer;

		if (anzahlWohneinheiten < 1) {
			anzahlWohneinheiten = 1;
		}
		this.bewohner = new Familie[anzahlWohneinheiten];

	}
 
Wenn es das Feld gibt, dann wird es auch gesetzt. Und der Test prüft es ab.

Was man maximal auch machen könnte, wäre:
- die Instanzvariable wird entfernt.
- die Methode getAnzahlWohneinheiten gibt bewohner.length zurück.

Edit: Muss natürlich bewohner familie sein und nicht person.
 
Aber ja wir sind fertig geworden, 😛 endlich, in der optimistischen Hoffnung gut daraus gelernt zu haben. Wie auch immer, auch wenn es einen Punkt gibt, dann heißt es beim nächsten Mal mehr anstrengen, wird wahrscheinlich eine Aufgabe kommen mit Vererbung polymorphic so etwas in der Art. Aufgabe müsste auch im Verlauf des Tages auf der Uni Homepage hochgeladen werden.
 
Guten Morgen!

Alle schon wieder da?

Schade, dass es nicht geklappt hat, aber wird schon noch!

@jono und Konsorten, ich empfehle euch beim nächsten Mal dringend, weniger zu behaupten, dass ihr alles richtig gemacht habt (vor allem, wenn alle anderen euch erzählen, dass es nicht so ist) und stattdessen konkreter zu fragen, wenn ihr etwas nicht zu 100% verstanden habt. Das Verständnis ist hier das wichtigste und nachdem ich mir den Verlauf auf den letzten Seiten durchgelesen habe, fehlt es leider immer noch bei euch.

Insofern solltet ihr auch jetzt noch einmal in euch gehen und alles aus dem Code heraussuchen, was euch nicht vollständig einleuchtet und hier (oder auch woanders) nachfragen.

Viel Erfolg beim nächsten Mal.
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben