android中使用多态设计一个CLASS用于选择题和填空题
在Android中使用多态设计一个Class,用于选择题和填空题。我们可以先定义一个Question类作为父类,然后派生出MultipleChoiceQuestion类和FillInBlankQuestion类作为子类。
首先,定义Question类:
public abstract class Question {
private String questionText;
public Question(String questionText) {
this.questionText = questionText;
}
public String getQuestionText() {
return questionText;
}
public abstract void displayQuestion();
public abstract void displayOptions();
}
接下来,定义MultipleChoiceQuestion类作为选择题的子类:
public class MultipleChoiceQuestion extends Question {
private ArrayList<String> options;
public MultipleChoiceQuestion(String questionText, ArrayList<String> options) {
super(questionText);
this.options = options;
}
@Override
public void displayQuestion() {
System.out.println(getQuestionText());
}
@Override
public void displayOptions() {
System.out.println("Options:");
for (int i = 0; i < options.size(); i++) {
System.out.println((i + 1) + ". " + options.get(i));
}
}
}
最后,定义FillInBlankQuestion类作为填空题的子类:
public class FillInBlankQuestion extends Question {
private int numberOfBlanks;
public FillInBlankQuestion(String questionText, int numberOfBlanks) {
super(questionText);
this.numberOfBlanks = numberOfBlanks;
}
@Override
public void displayQuestion() {
System.out.println(getQuestionText());
}
@Override
public void displayOptions() {
System.out.println("Number of blanks: " + numberOfBlanks);
}
}
现在我们可以根据需要创建选择题和填空题的实例,并调用它们的方法来显示问题和选项。例如:
Question question1 = new MultipleChoiceQuestion("What is the capital of France?", new ArrayList<>(Arrays.asList("Paris", "London", "Berlin")));
question1.displayQuestion();
question1.displayOptions();
Question question2 = new FillInBlankQuestion("The tallest mountain in the world is __________.", 1);
question2.displayQuestion();
question2.displayOptions();
通过使用多态,我们可以将这些不同类型的问题都存储在一个Question类型的变量中,并根据需要调用它们的方法
原文地址: https://www.cveoy.top/t/topic/iahv 著作权归作者所有。请勿转载和采集!