湖南商务职业技术学院——火山工作室
湖南省内招生代码4374;全国招生代码12401
教师博客
首页
新随笔
联系
聚合
管理
随笔分类
高职IT教育(33)
(rss)
教学管理(8)
(rss)
生活随感(6)
(rss)
文章分类
IT业文摘(3)
(rss)
计算机与软件考试(4)
(rss)
随笔档案
2009年5月 (1)
2009年4月 (10)
2008年4月 (14)
2006年9月 (1)
2006年8月 (3)
2006年4月 (2)
2006年3月 (15)
文章档案
2006年4月 (3)
2006年3月 (4)
相册
我的女儿
我们的团队
最新随笔
1. 教育的产品是服务 学校的上帝是家长(转)
2. 一个正整数分解成若干个连续自然数之和
3. 指定数量,指定总额,求公鸡/母鸡/小鸡各多少
4. 对一个整数,通过从左至右给定一个序号(索引),得到第几位是多少
5. 统计输入的英语字符串有多少个英文单词组成
6. 输入一个整型数组的成绩,求平均数
7. 用C#做类似于记事本和写字板的程序(3)
8. 用C#做类似于记事本和写字板的程序(2)
9. 用C#做类似于记事本和写字板的程序
10. 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒
最新评论
1. re: 方法的定义和参数传递
学习了,呵呵,转载到偶滴空间里啦啊哈
--体彩
2. re: “专业不限”有感
评论内容较长,点击标题查看
--高尚国
3. 征文
评论内容较长,点击标题查看
--高老师
4. re: 修炼七七四十九天
评论内容较长,点击标题查看
--LeVaN
5. re: “专业不限”有感
我是湖南理工学院的,我们学校也是经常听到别人说只有哪个什么专业好,其实还不样,老师们都说自己教的专业好
--小草
猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒
Posted on 2009-04-22 23:20
火山工作室
阅读(521)
评论(0)
编辑
收藏
引用
网摘
所属分类:
高职IT教育
1
程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)
2
要求:
1
.要有联动性,老鼠和主人的行为是被动的。
3
2
.考虑可扩展性,猫的叫声可能引起其他联动效应。
4
public
interface
Observer
5
{
6
void
Response();
//
观察者的响应,如是老鼠见到猫的反映
7
}
8
public
interface
Subject
9
{
10
void
AimAt(Observer obs);
//
针对哪些观察者,这里指猫的要扑捉的对象---老鼠
11
}
12
public
class
Mouse : Observer
13
{
14
private
string
name;
15
public
Mouse(
string
name, Subject subj)
16
{
17
this
.name
=
name;
18
subj.AimAt(
this
);
19
}
20
public
void
Response()
21
{
22
Console.WriteLine(name
+
"
attempt to escape!
"
);
23
}
24
}
25
public
class
Master : Observer
26
{
27
public
Master(Subject subj)
28
{
29
subj.AimAt(
this
);
30
}
31
public
void
Response()
32
{
33
Console.WriteLine(
"
Host waken!
"
);
34
}
35
}
36
public
class
Cat : Subject
37
{
38
private
ArrayList observers;
39
public
Cat()
40
{
41
this
.observers
=
new
ArrayList();
42
}
43
public
void
AimAt(Observer obs)
44
{
45
this
.observers.Add(obs);
46
}
47
public
void
Cry()
48
{
49
Console.WriteLine(
"
Cat cryed!
"
);
50
foreach
(Observer obs
in
this
.observers)
51
{
52
obs.Response();
53
}
54
}
55
}
56
class
MainClass
57
{
58
static
void
Main(
string
[] args)
59
{
60
Cat cat
=
new
Cat();
61
Mouse mouse1
=
new
Mouse(
"
mouse1
"
, cat);
62
Mouse mouse2
=
new
Mouse(
"
mouse2
"
, cat);
63
Master master
=
new
Master(cat);
64
cat.Cry();
65
}
66
}
67
//
---------------------------------------------------------------------------------------------
68
设计方法二: 使用event
--
delegate设计..
69
public
delegate
void
SubEventHandler();
70
public
abstract
class
Subject
71
{
72
public
event
SubEventHandler SubEvent;
73
protected
void
FireAway()
74
{
75
if
(
this
.SubEvent
!=
null
)
76
this
.SubEvent();
77
}
78
}
79
public
class
Cat : Subject
80
{
81
public
void
Cry()
82
{
83
Console.WriteLine(
"
cat cryed.
"
);
84
this
.FireAway();
85
}
86
}
87
public
abstract
class
Observer
88
{
89
public
Observer(Subject sub)
90
{
91
sub.SubEvent
+=
new
SubEventHandler(Response);
92
}
93
public
abstract
void
Response();
94
}
95
public
class
Mouse : Observer
96
{
97
private
string
name;
98
public
Mouse(
string
name, Subject sub) :
base
(sub)
99
{
100
this
.name
=
name;
101
}
102
public
override
void
Response()
103
{
104
Console.WriteLine(name
+
"
attempt to escape!
"
);
105
}
106
}
107
public
class
Master : Observer
108
{
109
public
Master(Subject sub) :
base
(sub)
{}
110
public
override
void
Response()
111
{
112
Console.WriteLine(
"
host waken
"
);
113
}
114
}
115
class
Class1
116
{
117
static
void
Main(
string
[] args)
118
{
119
Cat cat
=
new
Cat();
120
Mouse mouse1
=
new
Mouse(
"
mouse1
"
, cat);
121
Mouse mouse2
=
new
Mouse(
"
mouse2
"
, cat);
122
Master master
=
new
Master(cat);
123
cat.Cry();
124
}
125
}
只有注册用户
登录
后才能发表评论。
News
成功并不是一大堆做成的事情所构成的一种结果,而是积极进取、不断思考与实践所形成的一种状态。
::学院系部网站分类::
信息技术系
电子与控制技术系
经济贸易系
会计系
人文与旅游系
继续教育部
基础课部
IT技术
UML软件工程组织
渐飞网络学院
希赛网
中国最大的开发者网络
我的单位
湖南商务职业技术学院
商务精英摇篮,软件人才基地
职业教育
IT学院院长论坛
湖南教育网
湖南领导人才网
湖南职成教育信息网
中国高职高专教育网
评论排行榜
阅读排行榜
posts - 46, comments - 16, trackbacks - 0, articles - 7
Copyright © 火山工作室