Хорошо ли иметь конструктор в абстрактном классе?Хорошо ли иметь конструктор в абстрактном классе?
Это хорошая практика программирования для создания конструктора абстрактного класса? поскольку абстрактные классы не могут быть инициализированы, их дочерние классы инициализируются.
Ниже приведена моя структура классов.
public abstract class Scheduler
{
private Storyboard timer;
protected Scheduler()
{
// initialize the timer here.
timer = new Storyboard();
this.PollInterval = 60;
}
}
public class TaskScheduler : Scheduler
{
public TaskScheduler()
: base()
{
}
}
hmm, хороший пример. –
@JonSkeet жаль, что некромант сообщения с 2010 года, но у OP не было никаких параметров в их базовом конструкторе, стоит упомянуть, что вызов ': base()' в производном классе избыточен, если единственным ctor в базовом классе является значение по умолчанию (потому что его все равно называют). Я беспокоюсь о «скрытии» потребности в параметрах ctor, скажем, что базовый класс требует «IMagicWand», нет никакого способа, чтобы производный класс знал об этом требовании, пока компилятор не жалуется на него. * Это * моя проблема с защищенные конструкторы в абстрактных классах ... или я слишком задумываюсь об этом? –