Quel type devrait être ma classe pour accéder à une classe et la classe elle étendue?
-
01-10-2019 - |
Question
vous avez
public class Question
et
public class MultipleChoice extends Question
et
public class SurveyQuestions
où SurveyQuestions a
private static List<Question> q = new ArrayList<Question>();
En principal, vous continuez à ajouter des questions et toutes les choses que les questions sont composées de la liste.
Une fois fait, vous voulez parcourir la liste
for (Question q : SurveyQuestions.getInstance().getListOfQuestions())
Question : Quel type devrait "q" être pour qu'il ait accès à la fois question et choix multiples
La solution
Si par « accès à » « l'accès aux méthodes de » vous voulez dire - vous ne pouvez pas avoir comme MultipleChoice
parce que certaines questions pourraient ne pas l'être. Donc, il doit être Question
, et vous pouvez vérifier si elle est un multiple choix par if(q instanceof MultipleChoice)
Autres conseils
Vous devriez en faire Question
.
Vous ne pouvez pas le faire MultipleChoice
comme Question
plaine pas un MultipleChoice
... mais un MultipleChoice
est un Question
. Ainsi, Question
peut représenter les deux types.