C#如何重写带参数的构造函数?
展开全部
重写是发生在继承的时候的
1、必须是在继承里,
2、方法名、返回值类型、参数个数和参数类型 都必须相同
3、派生类重写的方法的访问权限不能低于基类的权限
比如说上面那个是父类
public class MySQLParamInfo:SQLParamInfo
{
public MySQLParamInfo(string paramname, object paramvalue)
{
//doSomething******//
}
}
如果子类有自己的构造函数,那么父类的构造函数就不会运行了。当子类没有构造函数时才会调用父类的构造函数来构造对象。
1、必须是在继承里,
2、方法名、返回值类型、参数个数和参数类型 都必须相同
3、派生类重写的方法的访问权限不能低于基类的权限
比如说上面那个是父类
public class MySQLParamInfo:SQLParamInfo
{
public MySQLParamInfo(string paramname, object paramvalue)
{
//doSomething******//
}
}
如果子类有自己的构造函数,那么父类的构造函数就不会运行了。当子类没有构造函数时才会调用父类的构造函数来构造对象。
展开全部
父类
public class A
{
public A(string Key)
{
}
}
子类
public class B : A
{
public B(string Key):base(Key)
{
}
}
必须要有 base(Key) 否则无法编译通过
public class A
{
public A(string Key)
{
}
}
子类
public class B : A
{
public B(string Key):base(Key)
{
}
}
必须要有 base(Key) 否则无法编译通过
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接按照基类的参数个数、类型写一个子类的构造参数,不去调用base的构造参数,全部在子类中实现,就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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; }
}
}
{
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; }
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是指override?
子类不能“重写”基类的构造函数,只能“调用”基类的构造函数
子类不能“重写”基类的构造函数,只能“调用”基类的构造函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询