Ein landwirtschaftlicher Betrieb ist für den Anbau verschiedener Früchte verantwortlich. Zu den Früchten in diesem System gehören Weintrauben, Erdbeeren und Äpfel. Das Klassendiagramm ist in der Abbildung dargestellt. Bitte schreiben Sie das Programm gemäß den folgenden Anforderungen:
1. Wenden Sie den einfachen Fabrikmethodenmodus an und vervollständigen Sie die Beschreibung des Wachstumsstatus der Frucht entsprechend dem Namen der Frucht, der im Hauptmenü eingegeben wurde Programm.
2 Wenden Sie das Muster der Fabrikmethode an und vervollständigen Sie die Beschreibung ihres Wachstumsstatus entsprechend dem Namen der Frucht, der über die Tastatur im Hauptprogramm eingegeben wurde
//新建一个简单工厂类 SimpleFactory.javapublic class SimpleFactory{ // 此处需要定义 static 类型,在客户端 类名。方法调用 public staitc Fruit getFruitObj(String type){ Fruit obj = null; if(type.equals("apple")){ obj = (Fruit) new Apple(); }else if(type.equals("straw")){ obj= (Fruit) new Straw(); }else if(type.equals("grape")){ obj = (Fruit) new Grape(); } return obj; } }//实现水果类 Fruit.javainterface Fruit{ void plant(); //定义种植方法 void grow(); //定义生长方法 void harvest(); }// 实现苹果类 Apple.java//此处草莓和葡萄同理,都实现接口FRUIT public class Apple implements Fruit{ @Override public void plant() { // TODO Auto-generated method stub System.out.print("种植了苹果"); } @Override public void grow() { // TODO Auto-generated method stub System.out.print("苹果生长了"); } @Override public void harvest() { // TODO Auto-generated method stub System.out.print("苹果结果了"); } }//客户端接口public class main{ public staic void main(String args[]){ Fruit fu =SimpleFactory.getfruitobj("apple"); fu.plant(); fu.grow(); fu.harvest(); } }
Factory-Musterimplementierung
/实现水果类 Fruit.javainterface Fruit{ void plant(); //定义种植方法 void grow(); //定义生长方法 void harvest(); }// 定义一个抽象工厂方法public abstract class Factory { public abstract Fruit getapple(); public static Factory getFruitFactory(Stri ng type){ Factory f = null; if(type.equals("apple")){ f=new AppleFactory(); f.getapple(); } return f; }//定义一个苹果的工厂public class AppleFactory extends Factory{public Apple getapple(){ //返回苹果的对象 return new Apple(); }//定义一个苹果。与上面简单工厂同public class Apple implements Fruit{ @Override public void plant() { // TODO Auto-generated method stub System.out.print("123"); } @Override public void grow() { // TODO Auto-generated method stub } @Override public void harvest() { // TODO Auto-generated method stub } }//定义主函数public class client { public static void main(String[] args) { // TODO Auto-generated method stub //执行 方法 Fruit f =(Fruit) Factory.getFruitFactory("apple"); f.plant(); f.grow(); f.harvest(); }
Weitere Artikel zur Java-Implementierung einfacher Factory-Muster finden Sie unter PHP chinesische Website!