当前位置: 首页 > news >正文

设计模式(2)工厂模式

让一个工厂类去生产出对象 (new )来。

我们想要一个 形状,我们用工厂去生产出,圆形,方形。

package com.example.factory2;public interface Shape {void draw();
}
public class Square implements Shape {@Overridepublic void draw() {Log.d("LIU", "this is Square");}
}
public class Circle implements Shape {@Overridepublic void draw() {Log.d("LIU","this is circle");}
}

factory class:

public class ShapeFactory {public Shape getShape (int type) {if (type == 1) {return new Circle();} else if (type ==2) {return  new Square();} else {return null;}}
}

example and output:

        ShapeFactory shapeFactory = new ShapeFactory();Shape shape = shapeFactory.getShape(1);shape.draw();Shape shape2 = shapeFactory.getShape(2);shape2.draw();2024-10-02 22:23:47.705 14673-14673/com.example.factory2 D/LIU: this is circle
2024-10-02 22:23:47.706 14673-14673/com.example.factory2 D/LIU: this is Square

参考: 工厂模式 | 菜鸟教程

http://www.lryc.cn/news/451669.html

相关文章:

  • 二分查找算法专题(1)
  • ACP科普:SoS不是救命
  • C++:模拟实现vector
  • Leecode SQL 184. Department Highest Salary 找出tie
  • [Redis][典型运用][缓存]详细讲解
  • GPG error golang 1.19
  • Linux如何查看每个文件及文件夹的大小
  • Word样式的同步与重置
  • 力扣 —— 跳跃游戏
  • SOCKS5代理和HTTP代理哪个快?深度解析两者的速度差异
  • 工具介绍---效率高+实用
  • 本地部署开源在线PPT制作与演示应用PPTist并实现异地远程使用
  • leetcode_238:除自身以外数组的乘积
  • 网络协议详解--IPv6
  • 阿里云域名注册购买和备案
  • 【经典机器学习算法】谱聚类算法及其实现(python)
  • 【Linux】Linux环境基础开发工具使用
  • Halcon基础系列1-基础算子
  • 【AI大模型】深入Transformer架构:编码器部分的实现与解析(上)
  • spring学习日记-day7-整合mybatis
  • 【YOLO目标检测行人与车数据集】共5607张、已标注txt格式、有训练好的yolov5的模型
  • JMeter中线程组、HTTP请求的常见参数解释
  • 优化Mysql
  • 如何使用MethodChannel通信
  • 【JavaWeb】JavaWeb笔记 HTTP
  • Java项目实战II基于Java+Spring Boot+MySQL的甘肃非物质文化网站设计与实现(源码+数据库+文档)
  • 数据结构--包装类简单认识泛型
  • c#使用winscp库实现FTP/SFTP/SCP的获取列表、上传和下载功能
  • 【Android 13源码分析】Activity生命周期之onCreate,onStart,onResume-1
  • 达梦数据库开启归档模式