농업 회사는 다양한 과일 재배를 담당합니다. 이 시스템의 과일에는 포도, 딸기, 사과가 포함됩니다. 클래스 다이어그램은 그림에 나와 있습니다. 다음 요구 사항에 따라 프로그램을 작성해 주세요.
1. 단순 팩토리 메소드 모드를 적용하고, 메인에 키보드에 입력된 과일 이름에 따라 과일의 성장 상태에 대한 설명을 완성합니다. 프로그램.
2 팩토리 메소드 패턴을 적용하여 메인 프로그램에서 키보드로 입력한 과일의 이름에 따라 성장상태 설명을 완성합니다
//新建一个简单工厂类 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(); } }
팩토리 패턴 구현
/实现水果类 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(); }
간단한 팩토리 패턴의 Java 구현과 관련된 더 많은 기사를 보려면 다음을 참고하세요. PHP 중국어 웹사이트!