/*
* 烟台大学计算机学院学生
*All right reserved.
*文件名称:C#
*作者:孔云
*完成日期:2014年10月9日
*版本号:v1.0
*对任务及求解方法的描述部分:对于铃声事件,不同对象的事件处理是不同的:教师开始上课,而学生开始听课。要实现这个程序,需要先定义一个学校类,在学校类中定义铃声事件(要定义事件先定义委托)和触发该事件的方法;然后再定义教师类和学生类;接下来定义这两个类中订阅事件和铃声事件对应的处理方法。
*我的程序:
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
public delegate void DelegateRing();//定义委托
public class School
{
public event DelegateRing Ring;//定义事件
public void OnRing()//定义事件触发方法
{
Ring();
}
}
public class Teacher
{
public void Register(School school)//订阅事件
{
school.Ring += new DelegateRing(HandleEvent);
school.OnRing();//触发事件
}
public void HandleEvent()
{
Console.WriteLine("同学们,请开始听课");//事件处理
}
}
public class Student
{
public void Register(School school)
{
school.Ring += new DelegateRing(HandleEvent);//订阅事件
school.OnRing();//触发事件
}
public void HandleEvent()
{
Console.WriteLine("老师,请开始讲课");//事件处理
}
}
class Program
{
static void Main(string[] args)
{
Teacher te = new Teacher();
te.Register(new School());
Student st = new Student();
st.Register(new School());
Console.WriteLine();
Console.ReadLine();
}
}
}
上课铃声事件
最新推荐文章于 2022-11-22 17:22:06 发布