Итак, у меня есть этот суперкласс:
public class Guest {
private int id;
private String firstName;
private String lastName;
private LocalDate joinDate;
public Guest(int id, String firstName, String lastName, LocalDate joinDate){
this.id = id;
this.firstName = firstName;
this.lastName = lastName;
this.joinDate = joinDate;
}
public int getID(){ return id; }
public String getFirstName(){ return firstName; }
public String getLastName(){ return lastName; }
public LocalDate getJoinDate(){ return joinDate; }
}
и его подкласс
public class VIP extends Guest{
private LocalDate VIPstartDate;
private LocalDate VIPexpiryDate;
public VIP(int id, String firstName, String lastName, LocalDate joinDate, LocalDate VIPstartDate, LocalDate VIPexpiryDate){
super(id, firstName, lastName, joinDate);
this.VIPstartDate = VIPstartDate;
this.VIPexpiryDate = VIPexpiryDate;
}
public LocalDate getVIPstartDate(){ return VIPstartDate; }
public LocalDate getVIPexpiryDate(){ return VIPexpiryDate; }
}
В другом классе у меня есть список «гости», в котором хранится вся информация о гостях.
Как я могу вызвать методы подкласса VIP, как это? (guest - это список, в котором хранится информация о гостях)
for (Guest guest : guests){
guest.getid() // so this calls from the super class - this works
guest.getVIPstartDate() // this is meant to call from sub class - this doesn't work
}
^ Я не могу сделать это в своем коде. Почему нет?
Как я могу это сделать?
Спасибо