欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何用Python語(yǔ)言實(shí)現(xiàn)觀察者模式

這篇文章主要介紹“如何用Python語(yǔ)言實(shí)現(xiàn)觀察者模式”,在日常操作中,相信很多人在如何用Python語(yǔ)言實(shí)現(xiàn)觀察者模式問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”如何用Python語(yǔ)言實(shí)現(xiàn)觀察者模式”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

創(chuàng)新互聯(lián)是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開(kāi)發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號(hào)開(kāi)發(fā),軟件開(kāi)發(fā),微信小程序開(kāi)發(fā),十載建站對(duì)小攪拌車(chē)等多個(gè)方面,擁有多年的網(wǎng)站制作經(jīng)驗(yàn)。

示例代碼

首先是定義的觀察對(duì)象基類Observable基類。這個(gè)類簡(jiǎn)單地實(shí)現(xiàn)了觀察者登錄和取消登錄以及通知方法。這些方法會(huì)在派生類中使用。

# 觀察對(duì)象基類class Observable:    def __init__(self):        self.observers= []    def attach(self, observer):        print(type(observer), 'has beenattached!')        self.observers.append(observer)    def detach(self, observer):        print(type(observer), 'has beendetached!')        self.observers.remove(observer)    def notify(self):        for oin self.observers:            o.update()

接下來(lái)是具象觀察對(duì)象類。這個(gè)類的職責(zé)是在自身狀態(tài)發(fā)生變化時(shí)調(diào)用基類接口向登錄的觀察者發(fā)出更新通知。

# 觀察對(duì)象具象類class ConcreteObservable(Observable):    def __init__(self):        Observable.__init__(self)        self.state= None
   def set_state(self, state):        self.state= state        self.notify()
   def get_state(self):        return self.state

實(shí)際的觀察者類只需要實(shí)現(xiàn)觀察對(duì)象基類在通知時(shí)希望的update接口即可,具體如下:

# 觀察者具象類class ConcreteObserver(Observer):    def __init__(self,observable):        Observer.__init__(self)        self.observable= observable    def update(self):        print(type(self), self.observable.get_state())

下面的演示代碼在分別構(gòu)建Observable和Observer的具象類對(duì)象后,將Observer對(duì)象注冊(cè)到Observable對(duì)象上。當(dāng)改變Observable對(duì)象的狀態(tài)時(shí),可以得到狀態(tài)變化的輸出。觀察者被刪除之后再次改變Observable的狀態(tài),則無(wú)法得到狀態(tài)變化的輸出。

# 主程序if __name__ == '__main__':    observable = ConcreteObservable()    # 構(gòu)建觀察者    observer= ConcreteObserver(observable)    # 觀察者注冊(cè)    observable.attach(observer)    # 改變觀察對(duì)象狀態(tài),產(chǎn)生輸出    observable.set_state('State Changed1!')    # 觀察者刪除    observable.detach(observer)    # 再次改變觀察對(duì)象狀態(tài),不產(chǎn)生輸出    observable.set_state('State Changed2!')

演示程序的輸出如所示:

<class '__main__.ConcreteObserver'> has been attached!<class '__main__.IndependentObserver'> has been attached!<class '__main__.ConcreteObserver'> State Changed1!<class '__main__.IndependentObserver'> State Changed1!<class '__main__.ConcreteObserver'> has been detached!<class '__main__.IndependentObserver'> State Changed2!

到此,關(guān)于“如何用Python語(yǔ)言實(shí)現(xiàn)觀察者模式”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

新聞名稱:如何用Python語(yǔ)言實(shí)現(xiàn)觀察者模式
文章起源:http://www.aaarwkj.com/article6/pjcoog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)動(dòng)態(tài)網(wǎng)站、Google、網(wǎng)站導(dǎo)航企業(yè)網(wǎng)站制作、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作
日韩在线视频这里只有精品| 日本一区二区三区免费看视频| 亚洲色图视频免费观看| 九九在线视频免费观看精品视频| 成人性生活毛片免费视频| 91国产网址在线观看| 欧美日韩精品不卡在线播放| 麻豆一区二区人妻网站| 亚洲天堂中文字幕麻豆| 国产在线成年人免费观看| 亚洲一区二区三区小蜜桃| 亚洲av成人在线资源| 日韩中字伦理熟妇人妻| 18末年禁止观看免费软件| 精品欧美一区二区在线| 伊在人天堂亚洲香蕉精品区| 日韩亚洲天堂视频免费观看| 给我搜亚洲免费播放黄色大片| 日韩久久精品五月综合| 久久欧精品欧美日韩精品| 国产一区二区三区本色| 欧美日韩欧美日韩一区二区| 日本人妻在线不卡视频| 欧美一区二区三区有限公司| 四虎国产最新在线免费| 岛国毛片在线免费播放| 五月天丁香婷婷深爱| 精品福利视频蜜臀91| 日韩区一区二在线视频| 欧美日韩一级一区二区| 日韩高清在线不卡视频| 日本欧美国产一区二区| 国产成人福利视频在线观看| 亚洲成熟中老妇女视频| 人妻中出中文字幕一区二区| 日本人妻精品在线观看| 国产老熟女高潮视频| 综合久久精品亚洲天堂| 免费av男人天堂亚洲天堂| 国产激情视频一区二区三区| 日本午夜视频一区二区|