0
私は、工場パターンでR & Dをやっていました。私は以下のコードを作成しました。今はサブクラスが犬と猫であることは分かっていますが、ただでクラス名を渡し、私もタイプを決定する必要がないように、私はそれに反射機能を追加することができますどのようにそれを教えてくださいmain.java反射を通した工場デザインパターンについて
public abstract class Animal {
public abstract String makeSound();
}
public class Dog extends Animal {
@Override
public String makeSound() {
return "Woof";
}
}
public class Cat extends Animal {
@Override
public String makeSound() {
return "Meow";
}
}
public class AnimalFactory {
public Animal getAnimal(String type) {
if ("canine".equals(type)) {
return new Dog();
} else {
return new Cat();
}
}
}
public class Main {
public static void main(String[] args) {
AnimalFactory animalFactory = new AnimalFactory();
Animal a1 = animalFactory.getAnimal("feline");
System.out.println("a1 sound: " + a1.makeSound());
Animal a2 = animalFactory.getAnimal("canine");
System.out.println("a2 sound: " + a2.makeSound());
}
}
にクラス名を渡すことで、反射によって達成メインのJavaとそのサブクラスのオブジェクトが作成されます
こんにちは人々..!:クラスがパッケージ
your.package
に自分のファイルになり、デフォルトのコンストラクタを持っている必要があります – dghtr