BlueJ - Objekte durch Konstruktor erzeugen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Also wenn du für die einzelnen Patienten jeweils eigene Instanz-Variablen verwenden sollst, könntest du es so schreiben:

public class Klinik
{ 
   Patient hans;
   Patient lea;
   Patient jan;
   Patient laura;
   Patient peter;

   public Klinik() 
   {
       hans = new Patient("Hans",40,100,1.90);
       lea = new Patient("Lea",25,70,1.60);
       jan = new Patient("Jan",15,50,1.70);
       laura = new Patient("Laura",18,45,1.50);
       peter = new Patient("Peter",30,90,1.95);
   {
}

Idealerweise würde man das allerdings vermutlich über eine HashMap oder ähnliches lösen.

Ich glaube es hat geklappt!! Ich hatte mir aber vorgestellt, dass unten in der Leiste 5 Objekte auftauchen und nicht, dass ich auf die "pfeile" klicken muss. Ich lad mal ein Bild hoch!

0
@shiinax

Wenn ich mich recht entsinne sieht man unten in der Leiste nur die direkt über BlueJ erstellten Objekte.

0

Ups, habe da am Ende vom Konstruktor eine Klammer vertauscht... es muss natürlich "}" anstatt "{" lauten.

1

Ja ^^ Soweit scheints gut auszusehen vielen lieben Dank!

0

Da erstellst du doch 5 neue Patienten. Du speicherst sie zwar nicht und verwendest sie auch niergendwo, aber erstellen tust du sie.

Wo genau liegt denn dann das Problem?

Bekommst du eine Fehlermeldung?

Danke für die schnelle Antwort erstmal.
Wenn ich nun auf new Klinik() klicke wird nur ein Objekt dieser Klasse erzeugt. Und keine 5 Objekte von der Klasse Patient mit den gegebenen Werten .. :(

0
@shiinax

Naja, erzeugt werden sie schon.(Zumidnest, sofern das nicht wegoptimiert wird), aber da du sie niergendow verwendest und auch niergendwo speicherst siehst du sie nach dem Konstruktoraufruf nicht, da sie an sich, direkt nachdem du sie erstellst, wieder verschwinden, da du sie nicht mehr ansprechen kannst.

1

Was möchtest Du wissen?