Hallo zusammen, ich bin neu in diesem Forum und Informatikstudent im zweiten Semester. Mittlerweile hab ich die Basics endlich so einigermaßen drauf und kann mich endlich ans objektorientierte programmieren machen. Dazu gibt es natürlich einige Übungsaufgaben, die zu erledigen sind, bei einer komme ich aber nicht weiter bzw. hab ich keine Ahnung wie ich das genau angehen soll. So ungefähr hab ich eine vorstellung wie es geht, die exakte Umsetzung ist mir aber nicht gelungen.
Es geht in der Aufgabe darin, eine Gruppe von Personen ("Person" ist eine abstrakte Oberklasse von der "Mann" und "Frau" zwei Unterklassen dieser sind) zu modellieren, das hab ich auch ganz gut hinbekommen, im Grunde ist der Text soweit fertig, allerdings steht ganz am Ende der Übung folgende Aufgabe:
"[...] Erweitern sie die Klassendefinition dann so, dass gezählt wird, wie viele Personen, Frauen Männer erzeugt werden. Die Anzahl von Instanzen jeder dieser Klassen soll bei Aufruf der Methode "anzahl()" für Referenzen geliefert werden, deren statischer Typ der fraglichen Klasse entspricht"
Anders gesagt soll ich zählen, wie viele Personen erzeugt wurden. Das ist schön und gut, und hab ich ganz einfach hin bekommen, indem ich im Konstruktor von Person
hinzugefügt habe, außerdem hab ich folgende Methode in der Klasse Person geschrieben
Bei meinen Tests stellte sich heraus, dass ich beim Methodenaufruf richtigerweise die Anzahl der erzeugten Personen zurück bekommen habe.
AAAAABER
Ich soll zusätzlich abfragen können, wie viele Männer/Frauen erzeugt wurden.
Bei 2 Männern und 3 Frauen soll wenn ich die Methode mit "Person.anzahl()" aufrufe 5 raus kommen, für Frau 3 und für Mann 2.
Ich hab aber keine Ahnung wie ich das realisiere. Verschiedenste Dinge wurden ausprobiert, so habe ich das ganze einfach noch mal in die Unterklassen "Frau" und "Mann" geschrieben, allerdings bekam ich dann völlig falsche Zahlen raus, im Grunde war das Ergebnis der Methode überall 10.
Wäre nett, wenn mir jemand weiter helfen könnte bzw. mir einen Hint in die richtige Richtung gibt
Bei Bedarf kann ich euch auch gern den kompletten Quelltext geben, allerdings hoffe/glaube ich nicht, dass das nötig sein wird.
lg,
Saberon
Es geht in der Aufgabe darin, eine Gruppe von Personen ("Person" ist eine abstrakte Oberklasse von der "Mann" und "Frau" zwei Unterklassen dieser sind) zu modellieren, das hab ich auch ganz gut hinbekommen, im Grunde ist der Text soweit fertig, allerdings steht ganz am Ende der Übung folgende Aufgabe:
"[...] Erweitern sie die Klassendefinition dann so, dass gezählt wird, wie viele Personen, Frauen Männer erzeugt werden. Die Anzahl von Instanzen jeder dieser Klassen soll bei Aufruf der Methode "anzahl()" für Referenzen geliefert werden, deren statischer Typ der fraglichen Klasse entspricht"
Anders gesagt soll ich zählen, wie viele Personen erzeugt wurden. Das ist schön und gut, und hab ich ganz einfach hin bekommen, indem ich im Konstruktor von Person
Code:
anzahl++
Code:
//Anzahl raus geben
public static int anzahl() {
return anzahl;
}
Bei meinen Tests stellte sich heraus, dass ich beim Methodenaufruf richtigerweise die Anzahl der erzeugten Personen zurück bekommen habe.
AAAAABER
Ich soll zusätzlich abfragen können, wie viele Männer/Frauen erzeugt wurden.
Bei 2 Männern und 3 Frauen soll wenn ich die Methode mit "Person.anzahl()" aufrufe 5 raus kommen, für Frau 3 und für Mann 2.
Ich hab aber keine Ahnung wie ich das realisiere. Verschiedenste Dinge wurden ausprobiert, so habe ich das ganze einfach noch mal in die Unterklassen "Frau" und "Mann" geschrieben, allerdings bekam ich dann völlig falsche Zahlen raus, im Grunde war das Ergebnis der Methode überall 10.
Wäre nett, wenn mir jemand weiter helfen könnte bzw. mir einen Hint in die richtige Richtung gibt
Bei Bedarf kann ich euch auch gern den kompletten Quelltext geben, allerdings hoffe/glaube ich nicht, dass das nötig sein wird.
lg,
Saberon
Zuletzt bearbeitet: