救救孩子吧,明天就要交了,大三

img

思路:
1.创建不同版本的基础类或基础接口;
2.继承基础类,实现Android,Apple,Homos等子类;
3.定义一个函数,根据不同子类的参数实现不同的子类。

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * 抽象产品:工厂
 * @author Administrator
 *
 */
abstract class ProductFactory {

    //获取产品版本
    abstract String edition(String name);
}

/**
 * Android
 * @author Administrator
 *
 */
class AndroidProduct extends ProductFactory{

    @Override
    String edition(String name) {
        return readProperties.getEdition(name);
    }
    
}

/**
 * Apple
 * @author Administrator
 *
 */
class AppleProduct extends ProductFactory{

    @Override
    String edition(String name) {
        return readProperties.getEdition(name);
    }
    
}

class HomosProduct extends ProductFactory{

    @Override
    String edition(String name) {
        return readProperties.getEdition(name);
    }
    
}

/**
 * 读取配置文件类
 * @author Administrator
 *
 */
class readProperties{
    
    public static String getEdition(String name){
        if(name== null || "".equals(name)) {
            return "";
        }
        Properties pt = new Properties();
        //配置文件在src目录下
        InputStream in = readProperties.class.getResourceAsStream("edition.properties");
        try {
            pt.load(in);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return pt.getProperty(name);
    }
}

public class ProductTest{
    
    public static void main(String[] args) {
        //ProductFactory作为产品工厂 具体的表现 以实现类即对象为准(多态的概念)
        ProductFactory android= new AndroidProduct();
        System.out.println(android.edition("Android")); //输出8
        ProductFactory apple= new AppleProduct();
        System.out.println(apple.edition("Apple")); //输出9
        ProductFactory homos= new HomosProduct();
        System.out.println(homos.edition("Homos")); //输出7
    }
}

配置文件:edition.properties的内容
Android=8
Apple=9
Homos=7

你们可以交流一下