设计模式-创建型模式-工厂模式

ops/2024/11/21 0:22:29/

 工厂模式是一种用来创建对象的模式,它将对象的创建和使用分离开来,使得代码更加灵活和可扩展。

下面代码中CarFactory是一个工厂类,它根据传入的参数来创建不同类型的Car对象。通过工厂模式,在不改变客户端代码的情况下轻松地添加新的品牌汽车。

java">/*** 创建型模式--工厂模式* 工厂模式是一种用来创建对象的模式,它将对象的创建和使用分离开来,使得代码更加灵活和可扩展** 使用工厂模式来创建汽车*/
public class FactoryMode {// 抽象产品类abstract static class Car {public abstract void drive();}// 具体产品类static class BenzCar extends Car {@Overridepublic void drive() {System.out.println("Drive Benz Car");}}static class BmwCar extends Car {@Overridepublic void drive() {System.out.println("Drive Bmw Car");}}// 工厂类// CarFactory是一个工厂类,它根据传入的参数来创建不同类型的Car对象。通过工厂模式,在不改变客户端代码的情况下轻松地添加新的品牌汽车。static class CarFactory {public static Car createCar(String type) {if ("Benz".equalsIgnoreCase(type)) {return new BenzCar();} else if ("Bmw".equalsIgnoreCase(type)) {return new BmwCar();} else {throw new IllegalArgumentException("Invalid car type");}}}// 使用工厂模式创建汽车public static void main(String[] args) {Car benzCar = CarFactory.createCar("Benz");Car bmwCar = CarFactory.createCar("Bmw");benzCar.drive();bmwCar.drive();}
}

http://www.ppmy.cn/ops/17162.html

相关文章

GIT 仓库迁移

GIT 仓库迁移 远端仓库迁移 ## 在远端提前创建仓库print-server ## 克隆所有分支 git clone --mirror http://X.X.X.X:8088/Print_Client.git ## 进入本地克隆目录 cd Print_Client.git ## 推送远端 git push --mirror http://X.X.X.X:8088/print/print-server.git本地项目迁…

睫毛膏上架亚马逊销售需要做什么准备 HRIPT / RIPT斑贴试验

睫毛膏上架需要办理:HRIPT / RIPT斑贴试验COA成分分析证书BCOP认证报告! 什么是BCOP: 亚马逊美国站对接触眼睛的眼影,液体眼线笔,磁性睫毛,假睫毛等产品,需提供BCOP(Bovine Corneal…

密码学基础 -- ECC

目录 1.ECC概述 1.1 汽车行业倾向使用ECC 1.2 ECC的难以理解 2.ECC原理 2.1 椭圆曲线真的不是一个椭圆 2.2 从图形了解ECC 2.3 ECC用法 3.ECC曲线汇总 1.ECC概述 1.1 汽车行业倾向使用ECC 当前公认安全有效的三大类公钥密钥体制分别为基于大数因子分解难题(RSA)、离散…

NLP step by step -- 了解Transformer

Transformer模型 Transformer相关历史 首先我们先看一下有关Transformer模型的发展历史,下面的图是基于Transformer架构的一些关键模型节点: 图片来源于Hugging Face 图片来源于Hugging Face Transformer 架构 于 2017 年 6 月推出。原本研究的重点是…

【Vision Pro应用】分享一个收集Apple Vision Pro 应用的网站

您是否也觉得 Vision Pro 应用程序商店经常一遍又一遍地展示相同的几个 VisionOS 应用程序?许多有趣、好玩的应用程序似乎消失得无影无踪,让人很难发现它们。为了帮助大家更轻松地探索和体验最新、最有趣的 Vision Pro 应用程序,这里分享一个网站https://www.findvisionapp.…

NumPy简单学习(需要结合书本)

NumPy简单学习(需要结合书本:Python数据分析与应用) 文章目录 NumPy简单学习(需要结合书本:Python数据分析与应用)前言导库: 一、大概内容1.掌握NumPy数组对象ndarray(1)…

如何写得一手优雅规范的SpringBoot 接口?

导语 优雅的代码赏心悦目,你的代码触目惊心。 当编写 Spring Boot 接口时,优雅和规范是至关重要的。一个良好设计的接口能够提高代码的可读性、可维护性和可扩展性,从而为整个应用程序的开发和维护带来便利。 在本文中,我们将探讨…

springboot+java海洋馆门票预订网上商城线上销售系统

有代码视频讲解参考,对项目进行黑盒测试和白盒测试,搭建开发环境、编写相关文档、搭建对象、数据库设计、编写功能代码、设计网页、用例测试,代码的整合打包,完成服务器的相关配置,最后得到项目成品。 ,软件开发源码包部署调试,包修改标题和时…