Beste tweakers, ik zet men een probleem in java.
Wij programmeren in java dmv bluej (object georienteerd programmeren).
De situatie is als volgt.
Ik heb een Superklasse Person met 2 subklassen Engineer en Admin. In een klasse Gui maak ik een instantie van zowel de klasse Engineer als de klasse Admin. In person heb ik een methode:
interim is een instantie van de klasse Interim die een ArrayList<Assignment> heeft genaamd openAssignments. getOpenAssignments() returned deze lijst.
welnu:
doormiddel van specifieke commando's in de klasse Admin (niet in Person), voeg ik Assignment objecten toe aan openAssignments (via getOpenArray()). Als ik dan vervolgens in Gui admin.getOpenArray() uitvoer krijg ik mooi de lijst met de toegevoegde Assignments. Echter als ik de methode engineer.getOpenArray() uitvoer krijg ik een lege lijst. Dit terwijl getOpenArray() in de superklasse is gedefinieerd dus imho toch verwijst naar 1 en dezelfde lijst van interim.
Is er een manier om ervoor te zorgen dat zowel engineer.getOpenArray() en admin.getOpenArray() hetzelfde returnen?
bij voorbaat dank
grtz
Wij programmeren in java dmv bluej (object georienteerd programmeren).
De situatie is als volgt.
Ik heb een Superklasse Person met 2 subklassen Engineer en Admin. In een klasse Gui maak ik een instantie van zowel de klasse Engineer als de klasse Admin. In person heb ik een methode:
Java:
1
2
3
4
| public ArrayList<Assignment> getOpenArray() { return interim.getOpenAssignments(); } |
interim is een instantie van de klasse Interim die een ArrayList<Assignment> heeft genaamd openAssignments. getOpenAssignments() returned deze lijst.
welnu:
doormiddel van specifieke commando's in de klasse Admin (niet in Person), voeg ik Assignment objecten toe aan openAssignments (via getOpenArray()). Als ik dan vervolgens in Gui admin.getOpenArray() uitvoer krijg ik mooi de lijst met de toegevoegde Assignments. Echter als ik de methode engineer.getOpenArray() uitvoer krijg ik een lege lijst. Dit terwijl getOpenArray() in de superklasse is gedefinieerd dus imho toch verwijst naar 1 en dezelfde lijst van interim.
Is er een manier om ervoor te zorgen dat zowel engineer.getOpenArray() en admin.getOpenArray() hetzelfde returnen?
bij voorbaat dank
grtz