python----观察者模式

本文通过Python实现观察者模式,创建了Resi类作为被观察者,Observe和Finace类作为观察者。Resi类维护一个观察者列表并提供添加观察者的方法,当状态改变时通知所有观察者。Observe类和Finace类实现了更新方法,分别在接收到通知时打印不同的消息。

python----观察者模式

class Resi():
    def __init__(self,):
        self.obsers=[]
        self.status=''
    def attach(self,observe):
        self.obsers.append(observe)
    def notify(self):
        for i in self.obsers:
            i.update()

class Observe():
    def __init__(self,name,resi):
        self.name=name
        self.resi=resi
    def update(self):
        print('%s,%s请你停止玩游戏'%(self.resi.status,self.name))

class Finace(Observe):
    def update(self):
        print('%s,%s请客吃饭' % (self.resi.status, self.name))

resi=Resi()
obj1=Observe('张三',resi)
obj2=Observe('李四',resi)
obj3=Finace('王五',resi)
resi.attach(obj1)
resi.attach(obj2)
resi.attach(obj3)
resi.status='老师来了'
resi.notify()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值