如果我有多个子类,我只是想确保我正在做关于继承和构造函数的思考。我的类看起来像这样,Shape是基类,其他派生类
Shape<-----Shape2D<------Box
这段代码是否正确?它工作正常,但我只是想知道这是不是最好的方式?
public Shape(int inputA, int inputB)
{
valueA = inputA;
valueB = inputB;
}
public Shape2D(int inputA, int inputB) : base(inputA, inputB)
{
}
public Box(int inputA, int inputB) : base(inputA, inputB)
{
}
答案 0 :(得分:1)
没有任何内容从您的代码示例中跳出来 - 链接看起来很好,在构建Box
时,valueA
和valueB
将按预期填充。
不确定“最佳方式”是什么意思 - 以这种方式构造链接绝对没问题。
答案 1 :(得分:1)
是的,这对我来说似乎是正确的。
如果您不想在后代类中进行任何特殊初始化,则可以将初始化任务委派给层次结构中的基类。这里定义了成员变量,因此它可以处理任何需要的初始化。
如果你需要后代特殊的东西,那么你必须在那里处理特殊的初始化。但是,在您需要完全相同的初始化之前,我认为这是建议的方法。
你在问题中想到了什么吗?