C#如何重写带参数的构造函数?

 我来答
yzjszl256
2010-07-05 · TA获得超过201个赞
知道小有建树答主
回答量:223
采纳率:0%
帮助的人:160万
展开全部
重写是发生在继承的时候的
1、必须是在继承里,
2、方法名、返回值类型、参数个数和参数类型 都必须相同
3、派生类重写的方法的访问权限不能低于基类的权限

比如说上面那个是父类
public class MySQLParamInfo:SQLParamInfo
{
public MySQLParamInfo(string paramname, object paramvalue)
{
//doSomething******//
}

}

如果子类有自己的构造函数,那么父类的构造函数就不会运行了。当子类没有构造函数时才会调用父类的构造函数来构造对象。
baitaotaobee
推荐于2018-04-13 · 超过22用户采纳过TA的回答
知道答主
回答量:78
采纳率:0%
帮助的人:61.2万
展开全部
父类
public class A
{
public A(string Key)
{
}
}
子类
public class B : A
{
public B(string Key):base(Key)
{
}
}
必须要有 base(Key) 否则无法编译通过
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
depluin
2010-07-05 · TA获得超过3179个赞
知道大有可为答主
回答量:3378
采纳率:75%
帮助的人:2485万
展开全部
直接按照基类的参数个数、类型写一个子类的构造参数,不去调用base的构造参数,全部在子类中实现,就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
amwih001
2010-07-05 · TA获得超过2.3万个赞
知道大有可为答主
回答量:1529
采纳率:100%
帮助的人:677万
展开全部
public class SQLParamInfo
{
protected string pname;
protected object pvalue;

public SQLParamInfo(){} //无参数构造函数
//带参数构造函数 1
public SQLParamInfo(string paramname, object paramvalue)
{
pname = paramname;
pvalue = paramvalue;
}

//带参数构造函数 2
public SQLParamInfo(string paramname)
{
pname = paramname;
}

public string name
{
set{ pname=value; }
get { return pname; }
}

public object value
{
set{pvalue = value; }
get { return pvalue; }
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
荔菲彭泽07
2010-07-05 · TA获得超过725个赞
知道小有建树答主
回答量:505
采纳率:0%
帮助的人:692万
展开全部
你是指override?
子类不能“重写”基类的构造函数,只能“调用”基类的构造函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式