2 delp12345 delp12345 于 2016.03.22 09:06 提问

java 代码转 c# 代码的疑问

//java code
class B extends A
{
public B()
{
//这里做一些赋值计算等操作,然后再调用父类构造函数
super();
}
}

//c# code
class B : A
{
public B():base()
{
//怎么在base()执行前做一些操作
}
}

4个回答

bdmh
bdmh   Ds   Rxr 2016.03.22 09:56

放到基类中,子类中首先要执行父类的构造,或者在父类中写一个空方法,放到构造函数的最开始,然后子类去override这个方法,写具体的操作

enpterexpress
enpterexpress   2016.03.22 10:03

写在父类中呗,这个相当于调用父类的构造方法

delp12345
delp12345   2016.03.22 10:04

这两种方法会让父类被设计得莫名其妙 违背了开闭原则 扩展子类却要修改父类。有没有更好的办法?

Trent1985
Trent1985   2016.03.22 11:48

class A:C
{
public C()
{
//放这里面
}
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!