インターフェイスの実装されたクラスを初期化する適切な方法は何ですか (いくつかのロジックによって決定されます)
例
IAnaimal is an interface
Cat -> IAnimal
Dog -> IAnimal
Cow -> IAnimal
int x = in.nextInt();
IAnimal animal = null;
if(x==1)
animal = new Dog();
else if(x==2)
animal = new Cat();
else
animal = new Cow();
animal.destroyManKind();
これは正しいアプローチですか?これを行うための「より」専門的な方法はありますか?