10.16日报

上午上了软件设计的课,进行了软件设计的实验

实验4:抽象工厂模式

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

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

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

 
   

 

 

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

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

 

实验要求:

1.  画出对应的类图;

 

2.  提交源代码;

  1. // 抽象产品:人
    abstract class Person {
        public abstract void use();
    }

    // 具体产品:男性
    class MalePerson extends Person {
        private String skinColor;

        public MalePerson(String skinColor) {
            this.skinColor = skinColor;
        }

        @Override
        public void use() {
            System.out.println("Using a male person with " + skinColor + " skin.");
        }
    }

    // 具体产品:女性
    class FemalePerson extends Person {
        private String skinColor;

        public FemalePerson(String skinColor) {
            this.skinColor = skinColor;
        }

        @Override
        public void use() {
            System.out.println("Using a female person with " + skinColor + " skin.");
        }
    }

    // 抽象工厂:人工厂
    interface PersonFactory {
        Person createPerson(String skinColor);
    }

    // 具体工厂:男性工厂
    class MalePersonFactory implements PersonFactory {
        @Override
        public Person createPerson(String skinColor) {
            return new MalePerson(skinColor);
        }
    }

    // 具体工厂:女性工厂
    class FemalePersonFactory implements PersonFactory {
        @Override
        public Person createPerson(String skinColor) {
            return new FemalePerson(skinColor);
        }
    }

    // 客户端代码
    public class AbstractFactoryDemo {
        public static void main(String[] args) {
            PersonFactory maleFactory = new MalePersonFactory();
            Person male = maleFactory.createPerson("yellow");
            male.use();

            PersonFactory femaleFactory = new FemalePersonFactory();
            Person female = femaleFactory.createPerson("black");
            female.use();
        }
    }

 

3.注意编程规范。

posted @ 2024-11-27 09:48  Code13  阅读(8)  评论(0)    收藏  举报