Constructorをインターフェイス継承で表現するように変更