| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3571 人关注过本帖
标题:【C#探讨】1:构造函数
取消只看楼主 加入收藏
小仙
Rank: 7Rank: 7Rank: 7
来 自:光之谷
等 级:贵宾
威 望:39
帖 子:1812
专家分:1
注 册:2008-8-8
结帖率:100%
收藏
 问题点数:0 回复次数:13 
【C#探讨】1:构造函数
想出一个点子:做个专栏,专门探讨学习中遇到的问题,比较经典的问题,何谓经典?就是人人都可以参与,各抒己见,但是又值得深究的问题。以便增加论坛的互动性。觉得话题好的兄弟,可以把帖子通知版主,由版主置顶,可以吸引人气,也不会沉底,但是请不要把题目往这一甩,就让别人帮你忙活去,起码也要有自己的见解先帖出来,这样,版主看到,才回给你置顶,话题最好也不要太偏,那样可加入的人就少。为了论坛的美观,置顶帖子不超过3个话题。
    这里我就带个头,弄第一个话题:类的构造函数的探究,权做抛砖引玉。任何类都是从构造函数开始,咱们的探讨专栏,也就从此开始了。
    前些时看到有个兄弟出了几个题目,有这么个问题,能否在类中显式调用构造函数,我也一下子拿不准,偶然看C#高级编程里面有这么一段,吸引了我的注意。在类里可以通过base(),this()调用基类和本身的构造函数。
程序代码:
class AAA
{
        public AAA()
        {
        }
}
class BBB:AAA
{
       public BBB()
       :base()           //此为BBB基类AAA的构造函数
       {
        }
}


可能有兄弟会问,不这样也可以啊,平时没这样。是的,不写那句也可以,但是前提是基类的构造函数是无参的,当有参数时,就必须这么写了,得通过base(参数)往基类的构造函数里头传参数,否则就会报错,大家都知道构造函数执行顺序是从上到下的。
    在此,我有个疑问,base()是调用基类的构造函数,this()是调用自己的构造函数,这或许算是显式调用构造函数吧,但是我以为this指的一般都是当前对象,但是构造函数是以类名命名的,类来构造对象的方法,叫做构造函数,岂可以用this()来指代构造函数呢?那不成了对象生成对象了。但是在编译器中写this()又确实是识别的,还有提示是当前类的构造函数,请兄弟们积极讨论下,看到底该怎么来理解。

[[it] 本帖最后由 小仙 于 2008-10-8 19:46 编辑 [/it]]
搜索更多相关主题的帖子: 函数 构造 探讨 
2008-10-08 19:41
小仙
Rank: 7Rank: 7Rank: 7
来 自:光之谷
等 级:贵宾
威 望:39
帖 子:1812
专家分:1
注 册:2008-8-8
收藏
得分:0 
沙发都没人占?呃。。。刚去外面晃了晃,发现咱们C#论坛的人气以发帖数来算的话,是排在第2的100,仅比C语言版块123少23帖而屈居第2,很好嘛。至于水区,咱们就不和它比了。大家踊跃讨论下啊,我这个探讨专栏怎么样的。。不要打击我的工作积极性啊。


仁者乐膳,智者乐睡。我都爱~
2008-10-08 20:00
小仙
Rank: 7Rank: 7Rank: 7
来 自:光之谷
等 级:贵宾
威 望:39
帖 子:1812
专家分:1
注 册:2008-8-8
收藏
得分:0 
回复 4# duanchangren 的帖子
你真让我为难了。。按说你是个勇敢的人啊。呵呵。


仁者乐膳,智者乐睡。我都爱~
2008-10-09 06:56
小仙
Rank: 7Rank: 7Rank: 7
来 自:光之谷
等 级:贵宾
威 望:39
帖 子:1812
专家分:1
注 册:2008-8-8
收藏
得分:0 
回复 3# gghao 的帖子
“如果你写了一个任何形式的构造函数,那么系统都不会为你生成这个构造函数。”呃。。我说,哥们,可能是我晚上失眠了吧,3点就醒了一直没睡着,怎么看你这句话这么费劲呢,眼睛都瞅花了。你这句倒是重点“实际上因为构造函数不能通过类的实例来调用,”但在类里头,确实是可以用到this()来显示构造函数的,这就是我此帖的话题,你好象没有抓住重点啊。等待楼下补充~


仁者乐膳,智者乐睡。我都爱~
2008-10-09 08:01
小仙
Rank: 7Rank: 7Rank: 7
来 自:光之谷
等 级:贵宾
威 望:39
帖 子:1812
专家分:1
注 册:2008-8-8
收藏
得分:0 
呃。。。说个症状,不晓得是不是走火入魔的征兆:躺在床上睡不着,手脚冒汗,辗转反侧,努力想让大脑冷静下来,可是却越想越多,甚至还发出了光驱读盘时高速旋转声都依稀可闻,就象是想关机,却出现死程序,选择强行结束都不行的那种情况,人的意识很清醒,就是混身没劲,坐起来之后,又浑浑噩噩的。还好一般一个月就那么几次,要不我真要羽化登仙了。


仁者乐膳,智者乐睡。我都爱~
2008-10-09 08:07
小仙
Rank: 7Rank: 7Rank: 7
来 自:光之谷
等 级:贵宾
威 望:39
帖 子:1812
专家分:1
注 册:2008-8-8
收藏
得分:0 
回复 8# 师妃暄 的帖子
难道你也深谙此道?我以前还没这个情况,还好这几天有假,一觉睡到自然醒,前天是9点半起来,昨天是11点半起来,人家都往软件园里头出来,我从外面进去,看着我的人都很诧异。


仁者乐膳,智者乐睡。我都爱~
2008-10-09 08:58
小仙
Rank: 7Rank: 7Rank: 7
来 自:光之谷
等 级:贵宾
威 望:39
帖 子:1812
专家分:1
注 册:2008-8-8
收藏
得分:0 
我住的那附近有个小学,早上打铃,唱国歌,就是不让我睡懒觉。那些小学生也够厉害的,每天起的和我差不多早平时。


仁者乐膳,智者乐睡。我都爱~
2008-10-09 08:59
小仙
Rank: 7Rank: 7Rank: 7
来 自:光之谷
等 级:贵宾
威 望:39
帖 子:1812
专家分:1
注 册:2008-8-8
收藏
得分:0 
实例指的是类滴对象,this是当前对象滴引用。不可以指向类滴,否则便成了桥太守乱点鸳鸯谱了。


仁者乐膳,智者乐睡。我都爱~
2008-10-09 21:08
小仙
Rank: 7Rank: 7Rank: 7
来 自:光之谷
等 级:贵宾
威 望:39
帖 子:1812
专家分:1
注 册:2008-8-8
收藏
得分:0 
回复 14# Wikor 的帖子
呃。。虽然跑题了,还是说下吧,静态函数一般不属于我们操纵的范围,可以甭去理它,研究它木有意义。大家发帖前看下话题吧。。。。


仁者乐膳,智者乐睡。我都爱~
2008-10-09 22:13
小仙
Rank: 7Rank: 7Rank: 7
来 自:光之谷
等 级:贵宾
威 望:39
帖 子:1812
专家分:1
注 册:2008-8-8
收藏
得分:0 
我主要是讨论this()的问题。呵呵,经你这么一说就很有道理了。可是和主题有点悖离,不过欢迎积极讨论。我失眠不是你的错噢。。。我是失眠起来,迷迷糊糊看你的帖子,一下子昏了。呵呵


仁者乐膳,智者乐睡。我都爱~
2008-10-09 23:08
快速回复:【C#探讨】1:构造函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021977 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved