Che tipo dovrebbe essere la mia classe di accedere a una classe e la classe si estendeva?
-
01-10-2019 - |
Domanda
si deve
public class Question
e
public class MultipleChoice extends Question
e
public class SurveyQuestions
dove SurveyQuestions ha
private static List<Question> q = new ArrayList<Question>();
In main continuare ad aggiungere le domande e tutte le cose che le domande sono composti alla lista.
Una volta fatto, si vuole per scorrere l'elenco
for (Question q : SurveyQuestions.getInstance().getListOfQuestions())
Domanda :? Che tipo dovrebbe "q" sia in modo che abbia accesso sia Domanda e scelta multipla
Soluzione
Se per "l'accesso a" si intende "l'accesso ai metodi di" - non si può avere come MultipleChoice
perché alcune domande potrebbero non essere tali. Così deve essere Question
, e quindi si può verificare se si tratta di una scelta multipla da if(q instanceof MultipleChoice)
Altri suggerimenti
Si dovrebbe fare Question
.
Non si può rendere MultipleChoice
come Question
pianura non è un MultipleChoice
... ma un MultipleChoice
è un Question
. Così Question
può rappresentare entrambi i tipi.