mingbird(string nm) : name(nm)

Автор admin Понедельник, 22 июня 2009 11:32

mingbird(string nm) : name(nm). openObsrv(this). closeObsrv(this) {} Observers openObserverO { return openObsrv: } Observers closeObserverO { return closeObsrv;} int mainO { Flower f; Bee ba(“A”). bb(“B”); Hummingbird ha(“A”). hbC’B”); f.openNoti fi er.addObserver(ha.OpenObserver()); f.openNoti fi er.addObserver(hb.OpenObserver()); f.openNoti fi er.addObserver(ba.OpenObserver()); f.openNoti fi er.addObserver(bb.OpenObserver()); f.closeNoti fi er.addObserver(ha.closeObserver()); f.closeNot i fi er.addObserver(hb.closeObserver()); f.cl oseNoti fi er.addObserver(ba.closeObserver()); f.closeNoti fi er.addObserver(bb.closeObserver()); // Объект hb перестает наблюдать за открытием: f.openNoti fi er.deleteObserver(hb.OpenObserver()); // Происходят изменения, интересующие наблюдателей: f .орепО; f.openO: // Цветок уже открыт, состояние не изменилось. // Объект А перестает наблюдать за закрытием: f.closeNoti fi er.deleteObserver( ba. closeObserverO); f .closeO; f.closeO: // Цветок уже закрыт, состояние не изменилось, f.openNoti fier.deleteObservers(); f .openO; f.closeO; } ///:- События, интересующие наблюдателе


Комментарии закрыты.