diff options
Diffstat (limited to 'Week5 Quiz/src/week5/Question.java')
-rw-r--r-- | Week5 Quiz/src/week5/Question.java | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/Week5 Quiz/src/week5/Question.java b/Week5 Quiz/src/week5/Question.java new file mode 100644 index 0000000..3b05414 --- /dev/null +++ b/Week5 Quiz/src/week5/Question.java @@ -0,0 +1,56 @@ +package week5; + +/** + * Abstract class for quiz questions + * + * @author Camil Staps, s4498062 + */ +public abstract class Question { + + protected String question = ""; + protected int weight = 3; + + @Override + public String toString() { + return question + " (pt: " + weight + ")"; + } + + /** + * Checks if a given answer is correct + * + * @param answer the answer to check + * @return true iff the answer is correct + */ + public abstract boolean isCorrect(String answer); + + /** + * Returns the correct answer + * + * @return the correct answer + */ + public abstract String juisteAntwoord(); + + /** + * Set the weight of this question (succeeds only if 0 < weight < 6) + * + * @param weight the new weight + */ + protected void setWeight(int weight) { + if (weight > 0 && weight < 6) { + this.weight = weight; + } + } + + public int getWeight() { + return weight; + } + + /** + * Create a new instance with the same parameters + * + * @return the new question + */ + public Question duplicate() { + return this; + } +} |