Quel type devrait être ma classe pour accéder à une classe et la classe elle étendue?

StackOverflow https://stackoverflow.com/questions/3567010

  •  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

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top