Ну, если бы у меня стояла такая задача, то я бы наследовал не от RunBase напрямую.
Создал бы наследник RunBase и в нем прописал бы все эти заглушки, свойства, проверки и т.п. (скорее всего, часть методов бы сделал финальными) А рабочие классы уже бы наследовал от него.
При таком подходе решаем задачу перфекциоистов и прямо говорим всем, кто будет после нас, что сделано это осознано с учетом особенности задач.
|