そもそも抽象化クラスの型名を宣言時に書かなきゃならん時点で
純粋なDIなんて無理。純粋なDIをするなら
動的型付けかgoみたいな方法を取るしかない