I have a similar need and wish if I could use params in _constructor instead (note single _, there is a __constructor and _constructor in Magento). Unfortunately it ends up with _construct should be compatible with parent _construct anyway.
It is possible to use objectManager as a not well optimized workaround.
/**
* Model construct that should be used for object initialization
*
* @return void
*/
protected function _construct()
{
$this->emailConfig = \Magento\Framework\App\ObjectManager::getInstance()->get(\LCB\ContactForms\Model\Email\Template\Config::class);
parent::_construct();
}
An answer why to do that is obvious. You don't have to worry that you constructor will be not compatible between various Magento 2 versions. Magento2 plugin is way better solution instead class rewrite but still, you can't modify protected methods with it.