| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 512 人关注过本帖
标题:问一个不太明智的问题?
只看楼主 加入收藏
water123456
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:3208
专家分:5
注 册:2006-2-21
收藏
 问题点数:0 回复次数:4 
问一个不太明智的问题?
public class createindexpage:createhtml
{
public createindexpage():base("contentindex")
{}
}
我对有些问题感觉不太明白,为什么我上面的方法会是空的呢?既然我们构造了方法,可是为什么不写呢?而且也没有别的构造方法,.

对了我还想问构造的方法为什么不写的return的返回呢?这个我也想不通,版主,可以回答一下吗?
搜索更多相关主题的帖子: public 而且 
2006-06-01 15:37
铲铲
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:506
专家分:0
注 册:2006-5-2
收藏
得分:0 

这是一个构造方法。构造方法本身不能返回东西,所以没有return。

好好看看在这个构造方法的后面冒号的内容,这个意思是,这个类使用没有参数的构造函数时,将调用基类的传递一个string参数的构造函数以便实例化。因为这个构造函数不用做其他的任何事情,唯一的要求就是调用积累的这个构造函数。所以他没有函数体。不过你要在里面在执行其他操作的话也可以。
他们的操作顺序是:先调用冒号后的基类构造函数,然后再调用你花括号中的代码。

依次类推,如果把base换成this,则这个意思就变成,不传递参数的构造函数将调用传递string参数的构造函数(当然事先你要有这个构造函数存在)。

构造函数是在实例化对象的时候调用的,他特殊是因为他给类实例化成对象的时候提供一个可以初始化的机会,因为构造函数不是由用户调用,所以没有任何返回值。


铲铲是也
2006-06-01 15:46
water123456
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:3208
专家分:5
注 册:2006-2-21
收藏
得分:0 
那后面再使用构造函数里的参数时,就可以直接使用了吗?
如果把base换成this,这个this是不是可以写也可以不写,就像我们给构造函数重载方法一样吗?
谢谢版主,你的精彩的回答.

让我们风风火火的过一生,别平平淡淡过一年。
2006-06-01 16:04
铲铲
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:506
专家分:0
注 册:2006-5-2
收藏
得分:0 

1、构造函数传递的参数只能在花括号的有效范围内使用,或者在冒号后调用的基类或本类构造方法中作为参数再次传递。

2、this必须写。这是语法要求的。


铲铲是也
2006-06-01 22:15
water123456
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:3208
专家分:5
注 册:2006-2-21
收藏
得分:0 
谢谢你的回答,我会记好的,都怪我的类学的不好

让我们风风火火的过一生,别平平淡淡过一年。
2006-06-02 10:51
快速回复:问一个不太明智的问题?
数据加载中...
 
   



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

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