{
void Respo " /> 久久大香萑太香蕉av,秋霞影院福利电影,精品国产原创在线观看视频

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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

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

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

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

 

public interface Observer
{
void Response(); //觀察者的響應(yīng),如是老鼠見到貓的反映
}
public interface Subject
{
void AimAt(Observer obs); //針對(duì)哪些觀察者,這里指貓的要撲捉的對(duì)象---老鼠
}
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();
}
}

//------------------------------------------------------------
設(shè)計(jì)方法二: 使用event -- delegate設(shè)計(jì)..
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知識(shí)庫C#經(jīng)典機(jī)試題(貓叫),轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 国产免费久久爱久久啪 | 第一会所欧美无码原创 | 久久www99re在线播放 | 翁公与小莹在客厅激情 | 羞羞答答dc视频 | 成人性视频全过程 | 精选国产AV精选一区二区三区 | 最近高清日本免费 | 狠狠色狠狠色综合日日91app | 久久re视频这里精品一本到99 | 男人J桶女人P视频无遮挡网站 | 成人公开免费视频 | 麻豆国产精品va在线观看约 | 97国产成人精品免费视频 | 日韩欧美群交P内射捆绑 | 麻豆人妻换人妻X99 麻豆区蜜芽区 | 手机在线观看无码日韩视频 | 最新男同鸭子ktv | 超嫩校花被灌醉在线观看 | 亚洲日本在线不卡二区 | 国产亚洲精品久久孕妇呦呦你懂 | 九九精品视频一区二区三区 | 青青青久久久 | FREE乌克兰嫩交HD | 美女视频秀色福利视频 | my pico未删减在线观看 | 11 13加污女qq看他下面 | 叔叔 电影完整版免费观看韩国 | 奇米网一区二区三区在线观看 | 色播播电影 | 欧美日韩无套内射另类 | 办公室中文BD | 日韩精品久久日日躁夜夜躁影视 | a免费在线观看视频 | 老司机福利在 线影院 | 午夜福利电影 | 亚洲成AV人片一区二区不卡 | PORN白嫩内射合集 | 蜜桃人妻无码AV天堂三区 | 黑色丝袜美腿美女被躁翻了 | 超碰97人人做人人爱亚洲尤物 |