【软件设计师】计算机软考下午题试题六,Java设计模式之简单工厂模式。

【软件设计师】计算机软考下午题试题六,Java设计模式之简单工厂模式。
代码如下:

java 复制代码
//简单工厂模式
public class SimpleFactory {
    public static void main(String[] args) {
        Product ProductA=Factory.createProduct("A");
        ProductA.info();
        Product ProductB=Factory.createProduct("B");
        ProductB.info();
    }
}
class Factory{
   public static Product createProduct(String type){
       Product product=null;
       switch(type){
           case "A":
               product=new ProductA();
               break;
           case "B":
               product=new ProductB();
               break;
           default:
               System.out.println("没有"+type+"类型的产品!");
               break;
       }
       return product;
   }
}
abstract class Product{
    public abstract void info();
}
class ProductA extends Product{
    @Override
    public void info(){
        System.out.println("产品的信息:A");
    }
}
class ProductB extends Product{
    @Override
    public void info(){
        System.out.println("产品的信息:B");
    }
}

运行结果如下:

相关推荐
不会打代码呜呜呜呜1 小时前
小白零基础--CPP多线程
开发语言·c++·算法
程柯梦想1 小时前
Maven修改默认编码格式UTF-8
java·maven
涛ing1 小时前
【5. C++ 变量作用域及其深入探讨】
java·linux·c语言·开发语言·c++·ubuntu·vim
Hi Man1 小时前
Python之如何在Visual Studio Code 中写的python程序打包成可以在Windows系统下运行的.exe程序
开发语言·vscode·python
CHANG_THE_WORLD2 小时前
C++并发编程指南04
开发语言·c++
字节全栈_mMD2 小时前
Flink Connector 写入 Iceberg 流程源码解析_confluent icebergsinkconnector
java·大数据·flink
powershell 与 api2 小时前
C#,shell32 + 调用控制面板项(.Cpl)实现“新建快捷方式对话框”(全网首发)
开发语言·windows·c#·.net
SomeB1oody2 小时前
【Rust自学】19.2. 高级trait:关联类型、默认泛型参数和运算符重载、完全限定语法、supertrait和newtype
开发语言·后端·rust
小园子的小菜2 小时前
RocketMQ中的NameServer主要数据结构
java·中间件·rocketmq·java-rocketmq
平凡君2 小时前
缓存的今生今世
java·spring·缓存