不同语言中事件的实现(VB6,VB.Net,C#,Java)

1 篇文章 0 订阅
1 篇文章 0 订阅

自学了不少语言,发现他们既有相互对应之处,又有很大不同,今天就事件,拿出来整理了一下。

 

VB6

定义:只能在用户控件中定义

Public Event 事件名(参数列表)

触发

RaiseEvent 事件名(参数列表)

绑定:构造过程名

对象名_事件名(参数列表)

 

VB.NET

定义

Public Event 事件名(参数列表)

触发

RaiseEvent 事件名(参数列表)

绑定:两种方法

Private Sub 处理事件的过程名(参数列表) Handles 对象名.事件名

AddHandler 对象名.事件名, AddressOf 处理事件的过程名

 

C#

定义:通过委托

public delegate void 委托名(参数列表);

public event 委托名 事件名=null;

触发

if(事件名!=null) 事件名(参数列表);

绑定

对象名.事件名+=new 委托名(方法名);

 

Java

//定义:

interface 事件监听器{

   public void actionPerformed();

}

class MyEventHandler{

   private 事件监听器 mylistener;

   //绑定:

   public void addEventListener(事件监听器 listener){

        mylistener=listener;

   }

   //触发:

   public void raiseEvent(){

        mylistener.actionPerformed();

   }

}

 

class MyClass{

   private MyEventHandler h;

   public MyClass(){

       h=new MyEventHandler();

      //绑定:

       h.addEventListener(new 事件监听器(){

          public void actionPerformed(){...}

      });

   }

   //触发:

   public void do(){

       h.raiseEvent();

   }

}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值