chuqi

博客园 首页 新随笔 联系 订阅 管理

方法

“方法”是包含一系列语句的代码块,方法可以有返回值,如果没有返回值,则应该在方法名称前冠以 void 表示无返回值。

事件

在发生其他类或对象关注的事情时,类或对象可通过事件通知它们。发送(或引发)事件的类称为“发行者”,接收(或处理)事件的类称为“订户”。

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            
        }


        private void button1_Click(object sender, EventArgs e)
        {
            Car car = new Car();
            car.OnOilWarning += new OilEventHandler(OilWarning); //关联事件
            car.FillOil(5);
            car.Startup();
        }


        public void OilWarning(object sender, OilEventArgs e)
        {
            MessageBox.Show("监测到了汽车油量异常,当前油量为:" + e.OilMass);
        }

        
    }


    //事件代理,可以理解为这个事件要传送什么内容
    //事件参数我们使用自己写的 OilEventArgs
    public delegate void OilEventHandler(object sender, OilEventArgs e);


    //事件参数
    public class OilEventArgs : System.EventArgs
    {
        private int _oilMass = 0; //油量

        public int OilMass
        {
            get
            {
                return _oilMass;
            }
        }


        public OilEventArgs(int oilMass)
        {
            _oilMass = oilMass;
        }
    }


    //汽车类,包含事件成员
    //当启动汽车时,如果油量少于某一个值,将会触发事件
    public class Car
    {
        private int _oilMass = 0; //油量
        public event OilEventHandler OnOilWarning; //定义事件成员,事件名称为 OnOilWarning


        //给汽车加油
        public void FillOil(int oilMass)
        {
            _oilMass = oilMass;
        }


        //启动汽车
        public void Startup()
        {
            if (_oilMass < 10)
            {
                OnOilWarning(this, new OilEventArgs(_oilMass));
            }
        }
    }
posted on 2009-06-09 12:56  chu  阅读(91)  评论(0)    收藏  举报