今日总结10.29

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

1、理解抽象工厂模式的动机,掌握该模式的结构;

2、能够利用抽象工厂模式解决实际问题

 

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

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

 

 

实验要求:

1. 画出对应的类图;

2.提交源代码;

3.注意编程规范。

1.BlackFactory.java

public class BlackFactory implements HumanFactory{

    @Override

    public Woman createWoman() {

        return new BLackWoman();

    }

 

    @Override

    public Man createMan() {

        return new BlackMan();

    }

}

2.BlackMan.java

public class BlackMan implements Man{

    @Override

    public void manEat() {

        System.out.println("black man eat");

    }

}

3.BlackWoman.java

public class BLackWoman implements Woman{

    @Override

    public void womanEat() {

        System.out.println("black woman eat");

    }

}

 

4.WhiteFactory.java

public class WhiteFactory implements HumanFactory{

    @Override

    public Woman createWoman() {

        return new WhiteWoman();

    }

 

    @Override

    public Man createMan() {

        return new WhiteMan();

    }

}

5.WhiteMan.java

public class WhiteMan implements Man{

    @Override

    public void manEat() {

        System.out.println("white man eat");

    }

}

6.WhiteWoman.java

public class WhiteWoman implements Woman{

    @Override

    public void womanEat() {

        System.out.println("white woman eat");

    }

}

7.YellowFactory.java

public class YellowFactory implements HumanFactory{

    @Override

    public Woman createWoman() {

        return new YellowWoman();

    }

 

    @Override

    public Man createMan() {

        return new YellowMan();

    }

}

8.YellowMan.java

public class YellowMan implements Man{

    @Override

    public void manEat() {

        System.out.println("yellow man eat");

    }

}

9.YellowWoman.java

public class YellowWoman implements Woman{

    @Override

    public void womanEat() {

        System.out.println("yellow woman eat");

    }

}

10.HumanFactory.java

public interface HumanFactory {

     Woman createWoman();

     Man createMan();

}

 

11.Man.java

public interface Man {

    void manEat();

}

12.Woman.java

public interface Woman {

    void womanEat();

}

 

posted @ 2023-10-29 22:12  庞司令  阅读(12)  评论(0)    收藏  举报