//java code
class B extends A
{
public B()
{
//这里做一些赋值计算等操作,然后再调用父类构造函数
super();
}
}
//c# code
class B : A
{
public B():base()
{
//怎么在base()执行前做一些操作
}
}
放到基类中,子类中首先要执行父类的构造,或者在父类中写一个空方法,放到构造函数的最开始,然后子类去override这个方法,写具体的操作
写在父类中呗,这个相当于调用父类的构造方法
这两种方法会让父类被设计得莫名其妙 违背了开闭原则 扩展子类却要修改父类。有没有更好的办法?
class A:C
{
public C()
{
//放这里面
}
}