{
void Respo " /> 国产一级久久免费特黄,国产色婷婷亚洲,天天透天天插

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

C#經(jīng)典機試題(貓叫)

  貓大叫一聲,所有的老鼠都開始逃跑,主人被驚醒。(C#語言)

  1.要有聯(lián)動性,老鼠和主人的行為是被動的。

  2.考慮可擴展性,貓的叫聲可能引起其他聯(lián)動效應。

 

public interface Observer
{
void Response(); //觀察者的響應,如是老鼠見到貓的反映
}
public interface Subject
{
void AimAt(Observer obs); //針對哪些觀察者,這里指貓的要撲捉的對象---老鼠
}
public class Mouse : Observer
{
private string name;
public Mouse(string name, Subject subj)
{
this.name = name;
subj.AimAt(
this);
}

public void Response()
{
Console.WriteLine(name
+ " attempt to escape!");
}
}
public class Master : Observer
{
public Master(Subject subj)
{
subj.AimAt(
this);
}

public void Response()
{
Console.WriteLine(
"Host waken!");
}
}

public class Cat : Subject
{
private ArrayList observers;
public Cat()
{
this.observers = new ArrayList();
}
public void AimAt(Observer obs)
{
this.observers.Add(obs);
}
public void Cry()
{
Console.WriteLine(
"Cat cryed!");
foreach (Observer obs in this.observers)
{
obs.Response();
}
}
}
class MainClass
{
static void Main(string[] args)
{
Cat cat
= new Cat();
Mouse mouse1
= new Mouse("mouse1", cat);
Mouse mouse2
= new Mouse("mouse2", cat);
Master master
= new Master(cat);
cat.Cry();
}
}

//------------------------------------------------------------
設計方法二: 使用event -- delegate設計..
public delegate void SubEventHandler();
public abstract class Subject
{
public event SubEventHandler SubEvent;
protected void FireAway()
{
if (this.SubEvent != null)
this.SubEvent();
}
}
public class Cat : Subject
{
public void Cry()
{
Console.WriteLine(
"cat cryed.");
this.FireAway();
}
}
public abstract class Observer
{
public Observer(Subject sub)
{
sub.SubEvent
+= new SubEventHandler(Response);
}
public abstract void Response();
}
public class Mouse : Observer
{
private string name;
public Mouse(string name, Subject sub) : base(sub)
{
this.name = name;
}
public override void Response()
{
Console.WriteLine(name
+ " attempt to escape!");
}
}
public class Master : Observer
{
public Master(Subject sub) : base(sub){}
public override void Response()
{
Console.WriteLine(
"host waken");
}
}
class Class1
{
static void Main(string[] args)
{
Cat cat
= new Cat();
Mouse mouse1
= new Mouse("mouse1", cat);
Mouse mouse2
= new Mouse("mouse2", cat);
Master master
= new Master(cat);
cat.Cry();
}
}

it知識庫C#經(jīng)典機試題(貓叫),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美在线性 | 成年人黄色网址 | 色涩在线| 久久精品国产99久久无毒不卡 | 中文字幕日韩欧美一区二区三区 | 亚洲女人的天堂 | 91精品国产免费久久久久久青草 | 综合激情区视频一区视频二区 | 中文字幕国产剧情 | 色婷婷影院在线视频免费播放 | 免费啪视频观在线视频在线 | 一级a性色生活片久久毛片 一级爱爱片一级毛片-一毛 | 丁香激情六月 | 黄色影片在线观看 | 免费人成综合在线视频 | 综合丁香| 欧美91在线 | 免费a级欧美黑寡妇a观看 | 国产一级特黄一级毛片 | 久久综合狠狠色综合伊人 | se97se成人亚洲网站在线观看 | 伊人久久大香线蕉综合亚洲 | 美女很黄很黄是免费的·无遮挡网站 | 国产福利专区精品视频 | 69国产成人综合久久精 | 国产一级特黄a大片99 | 一区二区三区在线播放视频 | 亚洲第一视频网 | 五月婷婷婷 | 久久99国产精品二区不卡 | 成人福利在线观看 | h网站国产 | 四虎精品影院4hutv四虎 | 色成人综合网 | 91免费看视频 | 一级一级女人18毛片 | 久久97久久97精品免视看清纯 | 久久精品99无色码中文字幕 | 91精品国产综合成人 | 色哟哟导航 | 李雅在线观看一区国产 |