6
มันไม่เป็นไรสำหรับอินเตอร์เฟสที่จะมีวิธีการที่ส่งกลับชนิดที่เป็นรูปธรรมของการใช้งานในรูปแบบของค่าคงที่หรือไม่?
ฉันมักจะทำให้ตัวเองอยู่ในสถานการณ์ที่ฉันต้องการพฤติกรรมที่แตกต่างของส่วนประกอบซึ่งขึ้นอยู่กับรูปแบบที่แตกต่างกันของอินเทอร์เฟซที่แตกต่างกัน เพื่อแสดงคำถามของฉันฉันได้เขียนรหัสชิ้นเล็ก ๆ ซึ่งจะแสดงสิ่งที่ฉันหมายถึง ในตัวอย่างนี้ฉันพยายามที่จะยกตัวอย่างวัตถุอาหารจากวัตถุสัตว์ interface Animal { void growl(); String getAnimalType(); //"DOG" or "FISH" } abstract class Food {} Meat extends Food {} Bread extends Food {} class FoodFactory { Food createFoodForAnimal(Animal animal) { switch (animal.getAnimalType()) { case "DOG": Food food = new Meat(); break; case "FISH": Food food …