前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >观察者模式

观察者模式

作者头像
名字是乱打的
发布2022-05-13 10:39:44
2740
发布2022-05-13 10:39:44
举报
文章被收录于专栏:软件工程
代码语言:javascript
复制
public class cartoon {
    private Vector<student> studentlist=new Vector();  //定义学生数组
    private String active;     //定义活动
    
    public String getActive() {       //获取活动
        return active;
    }

    public void setActive(String active) {  //设置活动
        this.active = active;
    }
    
    public void add(student student) {
        studentlist.add(student);        //增添学生
    }
    
    public void update(){
        for(student s:studentlist){
            s.respond();
        }
    }
}
代码语言:javascript
复制
public class student {
    private String name;
    private cartoon cartoon;
    public student(String name,cartoon cartoon) {
        this.cartoon=cartoon;
        this.name=name;
    }
    public void respond() {
        System.out.println(cartoon.getActive()+","+name+" 请去观看哦");
    }
}
代码语言:javascript
复制
public class client {
    public static void main(String[] args) {
        cartoon 葫芦娃=new cartoon();
        student student1=new student("小明", 葫芦娃);
        student student2=new student("小红", 葫芦娃);
        葫芦娃.add(student1);
        葫芦娃.add(student2);
        葫芦娃.setActive("葫芦娃更新了");
        葫芦娃.update();
    }
}

实例2:

代码语言:javascript
复制
import java.util.Vector;

public class biganimal {
    private String active;
    private Vector<animal> animals=new Vector();
    public String getactive() {
        return active;
    }
    public void setactive(String active) {
        this.active = active;
    }
    public void add(animal s) {
        animals.add(s);
    }
    public void change() {
        for(animal a :animals)
        {
            a.respond();
        }
    }
    
}
代码语言:javascript
复制
public class animal {
    String name;
    private biganimal biganimal;
    public animal(String s,biganimal loin)
    {
        this.biganimal=loin;
        this.name=s;
    }
    public void respond() {
        System.out.println(biganimal.getactive()+" "+name+"快跑");
    }
}
代码语言:javascript
复制
public class client {
    public static void main(String[] args) {
        biganimal 老虎=new biganimal();
        animal animal1=new animal("小猴子", 老虎);
        animal animal2=new animal("小猪", 老虎);
        animal animal3=new animal("小鹿", 老虎);
        老虎.add(animal1);
        老虎.add(animal2);
        老虎.add(animal3);
        老虎.setactive("老虎来了");
        老虎.change();
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档