对于 OOP 实践,我正在从事一个爱好项目,这是一个测验程序,它从 txt 文件中读取表格并询问有关表格中条目的问题。我们的想法是让这有助于学习我们部门的课程所提供的材料。
到目前为止,我编写了 I/O 位,将一个非常普通的 GUI 和类放在一起来表示数据表中不同类型的实体。我不确定如何继续程序的核心,我的意思是问题生成和验证。
我的第一个想法是创建一个类AbstractQuestion
,它几乎定义了问题是什么以及它具有哪些字段(字符串表示、答案和难度级别)。然后我想我可以为不同类型的问题编写类,例如一个类用于简单的值查询(例如给出实体名称并询问特定属性),另一个类用于更复杂的问题(例如查询交互实体等)。
但是,我不确定这是否是最好的方法。无法真正表达原因,但我有一种感觉,这不是解决问题的最佳方式。在工厂课程上工作有意义吗?基本上我需要:
- 提供基于从数据表中随机选择的一个或多个实体生成问题的方法
- 需要在运行时根据用户的输入(所需的难度级别)创建不同类型的问题
- 问题需要被验证并且用户需要被主
Quiz
类通知(所以问题需要是可访问的)。
我可以从简单开始,只实现一种类型的问题,让它工作并及时添加新功能,但我认为这是提高我对 OOP 理解的好习惯,而且我担心它是否有效,我开始给出它为了让人们对其进行测试,我最终会从事其他工作。我希望能够更好地概念化我的项目,我认为这可能是改进它的好机会。
PS:如果不是很明显,我不是受教育背景的程序员:)