女娲造人

[实验任务一]:女娲造人

使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,如果传入参数R,则返回一个Robot对象。请用程序设计实现上述场景。

1.类图

 

 

2. 实验源代码

package org.example;

public class Main {
    public static void main(String[] args) {
        Person man = NvwaFactory.createPerson("M");
        man.display();

        Person woman = NvwaFactory.createPerson("W");
        woman.display();

        Person robot = NvwaFactory.createPerson("R");
        robot.display();
    }
}

package org.example;

public class Man implements Person {
    @Override
    public void display() {
        System.out.println("这是男人");
    }
}

package org.example;

public class NvwaFactory {
    public static Person createPerson(String type) {
        if ("M".equals(type)) {
            return new Man();
        } else if ("W".equals(type)) {
            return new Woman();
        } else if ("R".equals(type)) {
            return new Robot();
        } else {
            throw new IllegalArgumentException("Unsupported type: " + type);
        }
    }
}

package org.example;

public interface Person {
    void display();
}

package org.example;

public class Robot implements Person {
    @Override
    public void display() {
        System.out.println("这是机器人");
    }
}

package org.example;

public class Woman implements Person {
    @Override
    public void display() {
        System.out.println("这是女人");
    }
}

posted @   平安喜乐×  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示