2017《面向对象程序设计》课程作业四
-
采取面向对象的方法,四则运算自动出题软件,根据需求可以划分为几个类?每个类具有什么属性?每个类具有什么行为?
- 我把它分为三个类:式子、答案、结果。
- 式子类的属性包括随机数、随机运算符、括号位置;行为包括生成随机数、生成随机运算符、生成随机括号位置、输出算式。
答案类的属性包括正确答案、用户输入答案;行为包括计算正确答案、用户输入答案。
结果类的属性包括输出语句;行为包括比较正确答案与用户输入答案、用读取文件的方式获取输出语句、输出、向指定文件写入算式和答案。
-
类与类之间是如何进行协作的?谁给谁发送消息?谁持有谁的引用?
- 主函数给各个类发送消息。
- 答案类持有式子类的引用以获得算式;结果类持有答案类的引用以获得正确答案和用户输入答案。
-
该自动出题软件采取何种算法或者是如何实现的?可以采用流程图描述的方法。