{
void Respo " /> 91成人免费版,一级特黄aaa大片大全,色你懂的

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

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

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

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

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

 

public interface Observer
{
void Response(); //觀察者的響應(yīng),如是老鼠見(jiàn)到貓的反映
}
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í)庫(kù)C#經(jīng)典機(jī)試題(貓叫),轉(zhuǎn)載需保留來(lái)源!

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

主站蜘蛛池模板: 国产亚洲视频在线 | 亚洲精品成人在线 | 1024你懂的国产精品 | 国产综合亚洲欧美日韩一区二区 | 久久国产精品系列 | 国产不卡一区二区三区免费视 | 国产三级级在线观看大学生 | 视频一二三区 | 一区二区在线视频观看 | 久久riav| 成人午夜视频在线观 | 欧美日韩国产在线观看一区二区三区 | 黄视频网址 | 国产精品第一页在线 | 精品伊人久久大香线蕉网站 | 成人国产在线视频在线观看 | 久久久久久久久久毛片精品美女 | 久久久久国产视频 | 风间由美一区二区播放合集 | 久久综合一区二区三区 | 97色伦图片在线观看 | 我色网 | 国产91免费视频 | 女人洗澡一级毛片一级毛片 | 蜜臀91精品国产免费观看 | 亚洲最大免费视频网 | 激情六月 | 国产亚洲欧美另类专区 | 欧美极品美軳人人体 | 加勒比精品久久一区二区三区 | 悠悠色综合 | 亚洲一区二区三区中文字幕 | 麻豆 国产| 国产对白你懂的 | 婷婷色综合网 | 亚洲视频免费一区 | 91精品免费观看老司机 | 91电视 | 伊人久久中文大香线蕉综合 | 精品久久久久久久久久中文字幕 | 国产原创麻豆精品视频 |