У меня есть класс, который расширяет базовый класс.Базовый класс является более общим и, следовательно, нуждается в большем количестве параметров.Производный класс является особым типом базового класса, и, таким образом, ему нужен только один из двух параметров, который базовому классу нужен в его конструкторе (производный класс может предоставить базовому классу второй параметр, но сначала ему необходимо выполнить некоторую обработку).
Возможно ли иметь конструктор в производном классе, который затем вызывает конструктор базовых классов?
Я знаю, что мог бы просто использовать : base(int a, int b)
, если параметры были переданы напрямую,но я не думаю, что смогу сделать это, поскольку мне нужно обработать вторую переменную перед вызовом конструктора базового класса.
class Foo {
private int c;
public Foo(int a, int b) {
c = a + b;
}
}
class Bar : Foo {
public Bar(int a, bool plusOrMinus) {
if (plusOrMinus) {
Foo(a, 5); // calling base class constructor- AFTER processing
} else {
Foo(a, -5); // calling base class constructor- AFTER processing
}
}
}