委托:
1、委托声明是与类同级,但是一个类似抽象方法的声明
2、委托的使用需要实例化,实例化时传进一个方法
3、委托实例化后可以调用,相当于调用一个方法
4、委托可以进行加减操作,方法就会到委托调用列表里去
声明委托:delegate <委托返回值类型> <委托名>(<参数>);
委托实例化:<委托名> <委托实例>=new <委托名>(<需要传递的方法>);
委托调用:<委托实例>(<方法参数>);
委托的相加减: <委托实例1>+= <委托实例>;
总结:
1、一个委托,可以实现对不同方法的调用,产生类似多态的效果。
2、单独使用不如多态方便。配合事件使用才可以发挥最大效果。
3、委托加上一个委托后产生新的委托,新的委托调用时,会以队列的形式调用。
4、委托的根本是为了使得方法成为一个参数而存在。
事件:
1、事件的声明和类同级。
2、事件是一个用于存放委托的容器,即对委托进行封装。
3、事件能存放怎么样的委托在声明时决定。
4、事件一旦触发后会调用委托。
事件的声明:event <委托名> <事件名>;
事件存放委托:<事件名> +=<委托实例>
事件的调用(调用决定触发):<事件名> (参数);
总结:
1、委托绑定方法,事件绑定委托。
2、根据组合可以形成一种调用机制的数据结构。