//作业二:热水器
//* 烧水器,显示器,警报器
//* 1.烧水器:负责烧水,温度会发生改变
//* 2.随着温度发生改变,显示器显示的内容就发生改变;
//*3.当温度到达100时,发出警报声,停止烧水;
//*
using System;
using System.Collections.Generic;using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 事件
{
class Program
{
public static void Main()
{
FireWater a = new FireWater();
Displayer b = new Displayer();
Alert c = new Alert();
a.StartBoil();
Console.ReadKey();
}
}
class FireWater
{
public delegate void FireHandler(int h);
public static FireHandler ReflushEvent;
public static FireHandler AlertEvent;
int h = 0;//温度
public void StartBoil()
{
//启动烧水
Console.WriteLine("开始烧水");
while (true)
{
h++;
//通知显示器更新显示
if (ReflushEvent != null)
{
ReflushEvent(h);
}
if (h >= 100)
{
//通过警报器发出警报停止烧水
if (AlertEvent != null)
{
AlertEvent(h);
}
break;
}
}
}
}
class Displayer
{
public Displayer()
{
FireWater.ReflushEvent += OnReflush;
}
public void OnReflush(int h)
{
Console.WriteLine("目前温度是:{0}", h);
}
}
class Alert
{
public Alert() { FireWater.AlertEvent += OnAlert; }
public void OnAlert(int h)
{
Console.WriteLine("!!!!水烧开了温度为!!!!");
}
}
}