>1.请问各位大哥"public DataThreadEventArgs() : base()"中的base()是调用基类的Construtor吗?能具体讲讲这句话的执行步骤?是调用基类的构造函数,并且是调用基类中不带任何参数的构造函数。就是先调用基类构造函数,回头再调用自己的。
>问题2."public DataThreadEventArgs() : base(){...}" 和 "public DataThreadEventArgs(){...}" 区别在哪儿?
如上题,public DataThreadEventArgs(){...}是让自己找构造函数。public DataThreadEventArgs() : base(){...}是调用不带任何参数的构造函数,如果基类中没有提供显示的提供了一些构造函数,而这些函数中没有一个是不使用带参数的(可能有3个构造函数,这3个都带参数,就是没有不带参数的构造函数),这是就会出错。大体就这个意思。

解决方案 »

  1.   

    能再问问"先调用基类构造函数,回头再调用自己的"相比"让自己找构造函数"
    好处在哪儿?也就是说为什么要这样做?马上给分!
      

  2.   

    首先这两个事情不沾边,是不同的事情,不可以比较。无论是自己找基类构造函数,还是显示指定构造函数,都要“先调用基类构造函数,回头再调用自己的”。为什么这么作,OO的东西就是这么规定的,首先在子类中的一些变量可能是从基类中继承来的,这些变量的初始化可能就放在基类的构造函数中,所以要先调用基类的,在调用自己的。
      

  3.   

    "回复 | 推荐 | 收藏 | 专题 | 公告 | 管理 | 保存 | 关闭窗口 "在帖子中找到上面的东西,进入"管理".