C#如何定义一个父类,让子类初始化时必须执行某一个操作

wch_99 2011-05-05 03:07:47
C#如何定义一个父类,让子类初始化时必须执行某一个操作?比如要求子类给父的一个属性赋值
谢谢指点
...全文
294 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wch_99 2011-05-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sjzlxd 的回复:]

方案1 父类设置一个无参私有构造 和一个有参构造
子类继承的时候就必须初始化父类的参数了. 否则就报错了.

C# code

class a
{
public int Init { get; set; }

private a()
{

}

……
[/Quote]

谢谢,这办法对我正适合
人工智能算法 2011-05-05
  • 打赏
  • 举报
回复
方案1 父类设置一个无参私有构造 和一个有参构造
子类继承的时候就必须初始化父类的参数了. 否则就报错了.


class a
{
public int Init { get; set; }

private a()
{

}

protected a(int init)
{
if (init < 1)
throw new Exception("init未初始化");
}
}
class b : a
{
//假设子类需要无参构造
//传递给父类的可以是常量
public b()
: base(5)
{

}
//有参构造,外部传递参数构造父类
public b(int init)
: base(init)
{

}

}


happy20101027 2011-05-05
  • 打赏
  • 举报
回复
构造函数 即可

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧