实验4:抽象工厂模式

发布时间 2024-01-09 15:00:12作者: wardream

 

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

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

 

 

实验要求:

1.  画出对应的类图;

 

 

2.  提交源代码;

AbstractFactory类:

package com.shiyan4;

public interface AbstractFactory {

    public Man produceMan();

    public Woman produceWoman();

}

 

YellowFactory类:

public class YellowFactory implements AbstractFactory{

    public Man produceMan()

    {

        return new YellowMan();

    }

    public Woman produceWoman()

    {

        return new YellowWoman();

    }

}

BlackFactory类:

public class BlackFactory implements AbstractFactory{

    public Man produceMan()

    {

        return new BlackMan();

    }

    public Woman produceWoman()

    {

        return new BlackWoman();

    }

}

WhiteFactory类:

public class WhiteFactory implements AbstractFactory{

    public Man produceMan()

    {

        return new WhiteMan();

    }

    public Woman produceWoman()

    {

        return new WWoman();

    }

}

Man类:

public interface Man {

    public void show();

}

Woman类:

public interface Woman {

    public void show();

}

YellowMan类:

public class YellowMan implements Man{

    public void show()

    {

        System.out.println("黄皮肤的男性");

    }

}

BlackMan类:

public class BlackMan implements Man{

    public void show()

    {

        System.out.println("黑皮肤的男性");

    }

}

WhiteMan类:

public class WhiteMan implements Man{

    public void show()

    {

        System.out.println("白皮肤的男性");

    }

}

YellowWoman类:

public class YellowWoman implements Woman {

    public void show()

    {

        System.out.println("黄皮肤的女性");

    }

}

BlackWoman类:

public class BlackWoman implements Woman {

    public void show()

    {

        System.out.println("黑皮肤的女性");

    }

}

WhiteWoman类:

public class WhiteWoman implements Woman {

    public void show()

    {

        System.out.println("白皮肤的女性");

    }

}

Main类:

public class main {

    public static void main(String args[])

    {

        try

        {

            AbstractFactory fac;

            Man m;

            Woman w;

            fac=new WhiteFactory();

            m=fac.produceMan();

            m.show();

            w=fac.produceWoman();

            w.show();

        }

        catch(Exception e)

        {

            System.out.println(e.getMessage());

        }

    }

}

3.注意编程规范。