实验四

[实验任务一]:人与肤色

使用抽象工厂模式,完成下述产品等级结构:

 

实验要求:

1.画出对应的类图;

2.提交源代码;

3.注意编程规范。

 

 

package colorman;

public class Black implements Factory{
    public Man produceMan() {
        return new BlackMan();
    }
    public Woman produceWoman() {
        return new BlackWoman();
    }
}
package colorman;

public class BlackMan implements Man{
    public void makeM() {
        System.out.println("我是个男性黑人");
    }
}
public class BlackWoman implements Woman{
    public void makeW() {
        System.out.println("我是个女性黑人");
    }

}
public interface Factory {
    public Man produceMan();
    public Woman produceWoman();

}
public class Human {
    public static Man createM(String test) {
        if(test.equals("W")) {
            return new WhiteMan();
        }
        else if(test.equals("B")) {
            return new BlackMan();
        }
        else if(test.equals("Y")) {
            return new YellowMan();
        }
        else {
            return null;
        }
    }
    public static Woman createW(String test) {
        if(test.equals("W")) {
            return new WhiteWoman();
        }
        else if(test.equals("B")) {
            return new BlackWoman();
        }
        else if(test.equals("Y")) {
            return new YellowWoman();
        }
        else {
            return null;
        }
    }
}
import java.util.Scanner;


public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String sex=new String();
        System.out.println("请输入性别");
        sex=sc.nextLine();
        System.out.println("请输入肤色");
        String color=new String();
        color=sc.nextLine();
        if(sex.equals("M")) {
            Man man = Human.createM(color);
            man.makeM();
        }
        if(sex.equals("W")) {
            Woman woman = Human.createW(color);
            woman.makeW();
        }
    }
}
public interface Man {
    public void makeM();
}
public class White implements Factory{
    public Man produceMan() {
        return new WhiteMan();
    }
    public Woman produceWoman() {
        return new WhiteWoman();
    }
}
public class WhiteMan implements Man{
    public void makeM() {
        System.out.println("我是个男性白人");
    }

}
public class WhiteWoman implements Woman{
    public void makeW() {
        System.out.println("我是个女性白人");
    }
}
public interface Woman {
    public void makeW();
}
public class Yellow implements Factory{
    public Man produceMan() {
        return new YellowMan();
    }
    public Woman produceWoman() {
        return new YellowWoman();
    }
}
public class YellowMan implements Man{
    public void makeM() {
        System.out.println("我是个男性黄人");
    }

}
public class YellowWoman implements Woman{
    public void makeW() {
        System.out.println("我是个女性黄人");
    }

}

 

posted @ 2023-11-02 16:57  霍普金斯大学丁真  阅读(5)  评论(0)    收藏  举报