教师布置作业给学生和家长-Java

题目:教师,学生,家长。教师布置作业给学生和家长。每当教师布置一个道题时,就要自动通知到所有的学生和家长把该题记下来,然后在布置下一道题。要求程序扩展性,新学生或者家长可以随时加入这个班级,可以随时转学取消作业通知。(提示:模拟天气预报的案例,使用观察者模型)
具体代码如下:
Observer.java

public interface Observer {public void update(String info);
}

Subject.java

public interface Subject {public void registerObserver(Observer o);public void removeObserver(Observer o);public void notifyObservers();
}

Parent.java

public class Parent implements Observer {private TeacherSubject t;//学生的姓名,用来标识不同的学生对象private String name;//构造器用来注册观察者public Parent(String name,TeacherSubject t) {this.name=name;this.t = t;//每新建一个学生对象,默认添加到观察者的行列t.registerObserver(this);;}public void update(String info) {System.out.println("家长"+name+"得到作业:"+info);}
}

StudentObserver.java

public class StudentObserver implements Observer {private TeacherSubject t;//学生的姓名,用来标识不同的学生对象private String name;//构造器用来注册观察者public StudentObserver(String name,TeacherSubject t) {this.name=name;this.t = t;//每新建一个学生对象,默认添加到观察者的行列t.registerObserver(this);;}public void update(String info) {System.out.println("学生"+name+"得到作业:"+info);}
}

TeacherSubject.java

import java.util.ArrayList;
import java.util.List;public class TeacherSubject implements Subject {//用来存放和记录观察者private List<Observer> observers=new ArrayList<Observer>();//记录状态的字符串private String info;public void notifyObservers() {for (int i = 0; i < observers.size(); i++) {Observer observer = (Observer)observers.get(i);observer.update(info);}}public void registerObserver(Observer o) {observers.add(o);}public void removeObserver(Observer o) {int i = observers.indexOf(o);if (i >= 0) {observers.remove(i);}}//布置作业的方法,在方法最后,需要调用notifyObserver()方法,通知所有观察者更新状态public void setHomework(String info){this.info=info;System.out.println("今天的作业是"+info);this.notifyObservers();}
}

TestObserver.java

public class TestObserver {public static void main(String[] args) {TeacherSubject teacher=new TeacherSubject();StudentObserver s=new StudentObserver("张三", teacher);StudentObserver LiSi=new StudentObserver("李四", teacher);StudentObserver WangWu=new StudentObserver("王五", teacher);Parent zparent=new Parent("张大三", teacher);Parent lparent=new Parent("李大四", teacher);teacher.setHomework("第二页第六题");teacher.setHomework("第三页第七题");teacher.setHomework("第五页第八题");}
}

教师布置作业给学生和家长-Java相关推荐

  1. java 面向对象经典例题——教师,学生,家长。教师布置作业给学生和家长。

    题目: 教师,学生,家长.教师布置作业给学生和家长.每当教师布置一个道题时,就要自动通知到所有的学生和家长把该题记下来,然后在布置下一道题.要求程序扩展性,新学生或者家长可以随时加入这个班级,可以随时 ...

  2. Axure高保真学校后台管理作品管理教师管理资源审核学生管理家长管理权限管理资源管理web端后台模板管理教师审核统计分析教育后台管理系统学校后台管理系统校园后台管理系统

    作品介绍:Axure高保真学校后台管理&作品管理&教师管理&资源审核&学生管理&家长管理&权限管理&资源管理&web端后台模板管理&am ...

  3. C++ 老师和学生布置作业问题 类和对象

    C++ 类和对象 老师和学生 题目 教师的日常工作包括布置作业(homework).批改作业(review).其中布置作业需要指定是哪门课程的作业,需要知道课程名称,然后返回课程编号:批改作业需要接收 ...

  4. 超六成受访者 支持禁用微信布置作业

    超六成受访者 支持禁用微信布置作业 近日,"禁用微信布置作业"登上了微博热搜,引发广泛讨论.据教育部网站消息,此前有政协委员提出<关于停止小学老师用手机微信和QQ对学生及家长 ...

  5. 《JavaEE课程设计报告》教师给学生布置作业系统设计报告

    一.题目与要求 开发一个作业管理系统,该系统有两类角色:教师(教师也是管理员)与学生. 教师: (0)可以将一个教学班的学生信息一次导入(也可以单独添加一个学生),用户名和密码默认为学号.注意,按教学 ...

  6. 学生不做作业,如何与家长联系

    当过班主任的都知道,管理好班级不仅是与学生进行沟通,和家长的沟通也是很重要的.有的时候学生经常不做作业,这时候找学生也没有什么用,那就只能找家长了.那么我们应该怎样和家长进行联系呢?今天小编就来给各位 ...

  7. 教师怎样将成绩单独发送给学生和家长?

    在工作学习中,我们经常会遇到怎样将成绩单独发送给学生和家长这样的问题.因此,面对怎样将成绩单独发送给学生和家长我们应该有努力探索的精神.诚挚的心灵,是学生情感的钥匙,高尚的师德,是学生心灵的明镜.对于 ...

  8. 老师们:不能用微信、QQ等方式布置作业了!

    政策还需细化 便利之处应保留 来源:IT时报 作者:丁晓东 "今日作业:1.数学作业课后习题册15~17页:2.语文第5课的课后生字抄写10遍:背诵两首古诗--"孩子在读五年级的张 ...

  9. 学生评教html模板,学生及家长评教评学调查表模板

    [问卷简介]尊敬的家长.亲爱的同学,你们好!为了更加真实.有效地加强家校联系与沟通,全面了解教学情况,我们设计了这份问卷.本问卷采取的是不记名方式,所以请你们认真阅读后选择最恰当的答案.感谢您的支持! ...

最新文章

  1. pat 乙级 1037 在霍格沃茨找零钱(C++)
  2. Qt6 在线安装图文步骤
  3. Android RecyclerView (十)组件化封装
  4. html加载swf 进度条,Flash加载外部文件创建进度条3种方法
  5. 何时才使用https访问项目
  6. (04)System Verilog 常用数据类型示例
  7. 开课吧:大数据时代,数据分析的特点是什么?
  8. ReferenceError: self is not defined
  9. 给女友定时发送睡前小故事
  10. 智能客服搭建(2) - MRCP Server ASR插件开发
  11. MAX31865模块PT100两线制测温
  12. 企业品牌私域化运营,私域流量只是起步
  13. 论文导读:Deep Attentive Learning for Stock Movement Prediction From Social Media Text and Company Correl
  14. FlexRay网络唤醒、启动和错误管理
  15. tp5出现“continue“ targeting switch is equivalent to “break“. Did you mean to use “continue 2“?错误解决方法
  16. python爬取歌词_Python如何爬取qq音乐歌词到本地
  17. 未来的你,一定感谢现在拼命努力的自己
  18. Linux格式化sd卡博客,Linux下格式化U盘或者SD卡
  19. Android文件系统的结构及目录用途、操作方法
  20. u深度u盘安装服务器系统,u深度u盘装win7系统详细步骤

热门文章

  1. PR模板 多帧多画面文字堆积特效故障开场视频PR模板
  2. 啊哈--算法 开启树之旅
  3. 成为会带团队的技术人 找到人:招聘是 Leader 的责任,不是 HR 的
  4. 【智能优化算法-天鹰算法】基于改进天鹰优化算法求解多目标优化问题附matlab代码
  5. 【软件安全】缓冲区溢出攻击(stack overflow)实践
  6. 扬帆际海:shopee本土店的知识分享
  7. 电工基础知识100问
  8. 让电脑崩溃的java代码_这些都是让程序员崩溃的瞬间...
  9. shellshock-Attack-Lab
  10. IEEE学生会员注册