第一篇:Net中委托与事件入门级的写法(有趣的生活实例)
源码如下: using System;namespace SisterAndBrother { /* 家庭里有很多事件实例啊,例如:妈妈要做饭,就让女儿照看小儿子,* 告诉他,一旦发现他尿尿了,就马上喊妈妈来。结果小儿子一会就尿
* 尿了打湿了裤子,女儿赶紧就喊妈妈,说:妈妈赶快来,弟弟尿尿了!
* 妈妈就过来把小儿子的裤子换掉。* * 在上面的这件事情中。首先,妈妈要女儿照看着小儿子,就是一个委托
* 声明,(也可以理解为一个特殊的“照看”类),只不过它特殊的是它在
* 实例化的时候,所带的签名是一个方法,就是“发现弟弟尿尿了喊妈妈“,* 而这个”喊妈妈“就是一个方法,而非一般的属性(照看的人,照看的时
* 间等)。儿子尿尿就是一个事件。而女儿在照看着弟弟有没有拉尿尿(弟弟 * 尿尿了就喊妈妈)就是一个事件订阅。一旦触发(儿子开始尿尿了),女儿就
* 会执行这个实例化委托中签名的方法(”喊妈妈“)。*/
//定义委托类
public delegate void UrineHandler(object sender, EventArgs e);//第一步 定义委托 class Program { static void Main(string[] args){ Console.WriteLine(“场景开始了...”);//生成姐姐
姐姐 s = new 姐姐();//生成弟弟
弟弟 b = new 弟弟();
//妈妈指定姐姐照看弟弟,就是一个事件订阅,也可称为实例化事件
b.Urine += new UrineHandler(s.喊妈妈);//第三步:事件订阅,将实例化的委托添加到弟弟的事件中 b.弟弟尿尿();//弟弟开始尿尿了,开始触发事件 第四步:某个方法触发事件
Console.WriteLine(“场景结束...”);Console.ReadLine();} }
//姐姐类
public class 姐姐 { //构造方法 public 姐姐(){ Console.WriteLine(“生成姐姐...”);}
//定义“喊妈妈“的方法
public void 喊妈妈(object sender, EventArgs e){ Console.WriteLine(”姐姐发现弟弟尿尿了,开始喊...“);Console.WriteLine(”妈妈赶快来,弟弟尿尿了!...“);Console.WriteLine(”妈妈过来了,替儿子换衣服...“);} }
//弟弟类
public class 弟弟 { //先定义一个事件,这个事件表示弟弟拉尿尿 public event UrineHandler Urine;//第二步 定义与该委托相关联的事件 //构造方法 public 弟弟(){ Console.WriteLine(”生成弟弟...“);}
//定义弟弟尿尿的方法 public void 弟弟尿尿(){ Console.WriteLine(”弟弟开始尿尿了...");
System.EventArgs e = new EventArgs();Urine(this, e);// 第五步:执行事件 } } }
第二篇:生活与化学中的有趣现象
体会生活中化学变化带来的快乐
教师在教学过程中要善于捕捉生活中一些有趣的化学现象,就能有效避免“从书本到书本,从概念到概念”的循环。这不仅能加深学生印象,帮助学生更好地理解和掌握所学知识,而且能达到活跃课堂气氛、激发学生求知欲和兴趣的目的。
比如在学习高中化学必修2《第四节 电池原理及其应用》这部分内容时,教师联系生活实际,让学生想一想一些日常生活现象中的“为什么”:如让学生例举日常生活大家见到的电池种类,电池用了一段时间后为何出现电量不足和现象,为什么有的电池能充电,而有的电池却不能充电等等。又如讲到九年级上册(人教版)第三单元《自然界的水》这一章节,很多同学对烧开水锅和盛开水的热水瓶形成的水垢不理解,因为我们饮用的是清澈透明的水,根本看不到有固体颗粒存在,却为什么会形成水垢呢?这时,教师可以用一个烧杯,取半杯的自来水,往水中滴入少量的肥皂水,用玻璃棒搅拌,很快我们会看到水中出现悬浮物。讲解硬水的有关知识,使学生很容易就能明白什么叫做硬水,硬水有什么危害,怎样才能软化。这样学生就能体验到解决疑难问题的成功与快乐。又如讲到九年级下册(人教版)第十一单元《盐化肥》第1课题生活中常见的盐这部分内容时,教师可以进行启发:“人是铁,饭是钢,一日不吃饿的慌。”人每天都要吃饭,如果菜中没有放盐会是什么滋味?为什么把盐放在水里不见了,水却变咸了?
通过生活中一个个与化学有关的“为什么”学生会发现现实生活中许多快乐的事情都与化学紧密相连。