Jednak jeszcze mam problem. Wydaje mi się, że rejestr pracowników dla danego menadżera napisałem dobrze. Czyli klasa kadra wygląda następująco
public class Kadra extends Pracownik {
private List<Liniowy>lista = new ArrayList<>();
public void dodajPracownika(Liniowy liniowy)
{
this.lista.add(liniowy);
}
@Override
public String toString() {
return ""+ lista;
}
}
zaś klasa Liniowy wygląda tak:
public class Liniowy extends Pracownik{
private int liczbaGodzin;
private String opisZadan;
public Liniowy(int liczbaGodzin, String opisZadan) {
this.liczbaGodzin = liczbaGodzin;
this.opisZadan = opisZadan;
}
@Override
public String toString() {
return "Liniowy{" +
"liczbaGodzin=" + liczbaGodzin +
", opisZadan='" + opisZadan + '\'' +
'}';
}
}
No i w klasie Main
Kadra menadzer1 = new Kadra();
Liniowy liniowy = new Liniowy(4,"Obróbka zdjęć");
Liniowy liniowy1 = new Liniowy(8,"Przygotowanie dokumentów");
Liniowy liniowy2 = new Liniowy(2,"Napisanie programu");
Kadra menadzer2 = new Kadra();
Liniowy liniowy3 = new Liniowy(2,"Prowadzenie dokumentacji");
Liniowy liniowy4 = new Liniowy(4,"Serwis");
menadzer1.dodajPracownika(liniowy);
menadzer1.dodajPracownika(liniowy1);
menadzer1.dodajPracownika(liniowy2);
menadzer2.dodajPracownika(liniowy3);
menadzer2.dodajPracownika(liniowy4);
System.out.println("Wszystkie wpisy z rejestru pracowników podlegających menadżertowi numer 1");
System.out.println(menadzer1.toString());
System.out.println("Wszystkie wpisy z rejestru pracowników podlegających menadżerowi numer 2");
System.out.println(menadzer2.toString());
No i chyba jest ok? Przypisuje mi dla danego menadźera z kadry rejestr jego pracowników.
A teraz jak wyświetlić listę wszystkich pracowników?
Gdy zrobię w klasie Firma tak:
public class Firma {
private List<Pracownik>lista = new ArrayList<>();
public void dodajPracownika(Pracownik pracownik)
{
this.lista.add(pracownik);
}
to dodając w klasie Main do listy pracowników menadźera , nie wypisze mi się ten menadżer tylko lista rejestru jego podwładnych. Trochę się w tym już pogubiłem :) Dla dopełnienia wszystkiego klasa Pracownik wygląda tak
public class Pracownik {
private String name;
private String surname;
public Pracownik(){}
public Pracownik(String name, String surname) {
this.name = name;
this.surname = surname;
}
@Override
public String toString() {
return "Pracownik{" +
"name='" + name + '\'' +
", surname='" + surname + '\'' +
'}';
}
}