在Java学习班中有一个老师,有许多学生。老师是观察者模式中的主题(Subject),学生是观察者模式中的观察者(Observer)。老师为学生们讲课,传授知识;学生可以一字不差的吸收老师讲的内容(以String形式存在),并可以一字不差的复述老师在课堂上讲的内容。
具体要求如下:
(1). 实现老师类(Teacher)、学生类(Student)、主题接口(Subject)、观察者接口(Observer)、测试类Test;
(2). 老师讲授的Java课程可以被学生选课(registerObserver())、被学生退课(removeObserver())、课程内容通过ontifyObservers()方法传授给所有选课的学生;
(3). 老师讲授的内容通过从文本文件中读取,在Test类中操作老师实例读取文本文件中的知识。老师将读取到的知识传授给选课的学生;
(4). 学生可以将学到的知识记下来(保存到对应学生名的文本文件中),在需要的时候(考试、提问)进行展示;
(5). 在Test类中可以创建需要的参数,提供相应的操作菜单:上课(classTime())、考试(examine())、提问(classroomQuestioning)、学生选课(registerCourse())、学生退课(dropCourse());
(6). 考试方法中学生展学到的全部知识,可以通过传递一些知识掌握情况、考试时状态等参数,返回相应的考试成绩;
(7). 提问方法中选定学生,传入关键词,展示该学生学到的相关知识;
(8). 考试应当在程序的下一次运行时进行(在程序结束运行后,应当能够保存学生信息、学生学到的知识、学生与老师的关系;在下一次运行时能够顺利恢复上次运行时建立的对象实体,以及他们之间的关系,然后进行相应的考试操作);
(9). 可以自定义异常类,并在合适的位置使用异常处理机制。
这个功能不需要做swing的UI界面吧。
您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~
ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓
【电脑端】戳>>> https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】 戳>>> https://mall.csdn.net/item/52471?utm_source=1146287632