Kod: Zaznacz cały
public class ObjectPlus {
private static Map<String, List<Object>> ekstensje;
//mapa by przechowywać wszystkie obiekty
public ObjectPlus(){ //konstruktor wywolywany gdy tworzymy nowy obiekt w klasie Pracownik
if (ekstensje==null){
ekstensje = new HashMap<String, List<Object>>();
}
String className = this.getClass().toString();
List<Object> ekstensja = ekstensje.get(className);
if(ekstensja == null){
ekstensja = new ArrayList<Object>();
ekstensje.put(className, ekstensja);
}
ekstensja.add(this);
}
//ta metoda zwróci nam ekstensje dla danego obiektu
public List<Object> getEkstensja(){
String className = this.getClass().toString();
List<Object> list = ekstensje.get(className);
return list;
}
//druga taka sama metoda ale bedzie przyjmowala nazwe klasy, i bedzie dzialac na metodach klasowych
public static List<Object> getEkstensja(String className){
return ekstensje.get(className);
}
}
W klasie pracownik mam ponadto atrybut powtarzalny , który trzyma listę miejsc pracy dla danego pracownika:
Kod: Zaznacz cały
public List<String> miejscaPracy = new ArrayList<String>();
Kod: Zaznacz cały
public static void main(String[] args) {
Kod: Zaznacz cały
Pracownik p = new Pracownik();
p.miejscaPracy.add("Bytom");
p.miejscaPracy.add("Kraków");
for (int i=0; i< p.miejscaPracy.size(); i++){ //wypisanie miejsc pracy, druga wersja
System.out.println(p.miejscaPracy.get(i));
}
System.out.println(Pracownik.miejscaPracy());
i zwracała miejsca pracy dla wszystkich pracowników których utworzyliśmy i przypisaliśmy im jakieś miejsca pracy...Dziękuje za pomoc