貓 老鼠 主人聯動問題

2022-03-05 17:19:24 字數 1754 閱讀 2134

程式設計: 貓大叫一聲,所有的老鼠都開始逃跑,主人被驚醒

要求:

1.要有聯動性,老鼠和主人的行為是被動的。

2.考慮可擴充套件性,貓的叫聲可能引起其他聯動效應。

整個思路是採用訂閱者設計模式(觀察者模式),具體怎麼叫就隨大家想法。我採用windows的應用程式講解
下面是發布者抽象模組
using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace interviewdemo}}

}

下面是訂閱者抽象模組
using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace interviewdemo

public virtual void _pubish_handler()

}}

貓模組

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.windows.forms;

namespace interviewdemo

public cat(string name)

public void shouted()

}}

老鼠模組

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.windows.forms;

namespace interviewdemo

public mouse(string name, pubish p)

: base(p)

public override void _pubish_handler()

}}

主人模組

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.windows.forms;

namespace interviewdemo

public master(string name, pubish p)

: base(p)

public override void _pubish_handler()

}}

程式實現的按鈕事件

private void button1_click(object sender, eventargs e)

考這個的目的是在看大家對訂閱者模式的熟知度,前面的發布者、訂閱者都採用抽象,方便以後的擴充套件,
熟悉此模式後可在很多場合應用。

程式設計 貓老鼠主人

問題 貓大叫一聲,所有的老鼠都開始逃跑,主人被驚醒。分析 從這句話,我們可以獲得兩個資訊 1 涉及到三個角色,貓,老鼠和主人。因此,顯然要定義三個類 cat,mouse 和master 至於這三個類之間的關係,看你如何選擇實現的方式 2 當貓發出乙個動作時,老鼠和主人都會做出自己的反應。因此,第乙個...

貓吃老鼠問題

今天在看雪看到這個 貓吃老鼠問題 的帖子,和當初學程式設計時的乙個叫做 約瑟夫環問題 類似。自己按照數學的方法分析了一下,得到乙個數學演算法。問題描述 現有n個老鼠圍成一圓圈,有乙隻貓從任意位置開始吃老鼠,每次都隔乙個老鼠吃,請給出最後乙個老鼠的編號?題目要求是任給老鼠數n,輸出貓最後吃的老鼠的編號...

貓捉老鼠問題系列(一)

形象化的數學問題,總是引人入勝,這個世界創意還是很重要的。從網上收集了一些貓和老鼠的數學話題,僅供欣賞之。在數軸上,0的位置停著乙個不動的老鼠,1的位置在初始時刻有乙隻貓。貓是可以走動的,每一步在數軸上分別以二分之一的概率或朝著正方向或朝著負方向走1的距離。當貓到達0的位置時,貓就抓到老鼠了,遊戲結...