在tableview中使用抽象类Arraylist

时间:2018-05-27 16:23:56

标签: java inheritance javafx

晚上好,

目前我被困在我的项目的一部分,包括专栏。所以我们有抽象类Persoon的班级Lid和Medewerker。 Vereniging班级拥有所有Persoon和Medewerker实例的Arraylist,称为personen。

我想做的是创建一个tableview,它显示该列表中的所有Lid实例,并显示来自Lid类的Persoon类+ rol属性的信息。

类:

Vereniging:

public class Vereniging {

private String naam;

private ArrayList<Persoon> personen;
private ArrayList<Vliegtuig> vliegtuigen;
private ArrayList<Vlucht> vluchten;
private ArrayList<Hangaar> hangaars;

private DataHandler handler = new Database();

public Vereniging(String naam){
    this.naam = naam;

    personen = new ArrayList<>();
    vliegtuigen = new ArrayList<>();
    vluchten = new ArrayList<>();
    hangaars = new ArrayList<>();
}

public ArrayList<Persoon> getPersonen() {
    return personen;
}

Persoon:

public abstract class Persoon implements Comparable<Persoon>{

private String voornaam;
private String tussenvoegsel;
private String achternaam;
private String woonplaats;
private String geslacht;
private String rekeningnr;

Persoon(String voornaam, String tussenvoegsel, String achternaam, String woonplaats,
               String geslacht, String rekeningnr){
    this.voornaam = voornaam;
    this.tussenvoegsel = tussenvoegsel;
    this.achternaam = achternaam;
    this.woonplaats = woonplaats;
    this.geslacht = geslacht;
    this.rekeningnr = rekeningnr;
}

盖:

public class Lid extends Persoon {

private String gebnaam;
private String wachtwoord;
private String rol;

public Lid(String voornaam, String tussenvoegsel, String achternaam, String woonplaats, String geslacht,
           String rekeningnr, String gebnaam, String wachtwoord, String rol) {
    super(voornaam, tussenvoegsel, achternaam, woonplaats, geslacht, rekeningnr);
    this.gebnaam = gebnaam;
    this.wachtwoord = wachtwoord;
    this.rol = rol;
}

Medewerker:

public class Medewerker extends Persoon {

private double salaris;

public Medewerker(String voornaam, String tussenvoegsel, String achternaam, String woonplaats,
                  String geslacht, String rekeningnr, double salaris) {
    super(voornaam, tussenvoegsel, achternaam, woonplaats, geslacht, rekeningnr);
    this.salaris = salaris;
}

0 个答案:

没有答案