当前位置: 首页 > 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.mrgr.cn/news/41429.html

相关文章:

  • TypeScript 封装 Axios 1.7.7
  • leetcode_198_打家劫舍
  • 【Docker】docker的存储
  • 探索未来:hbmqtt,Python中的AI驱动MQTT
  • 十五款好看的键帽,总有一款适合你❤
  • 3 个简单的微分段项目
  • 一个基本的包括爬虫、数据存储和前端展示框架0
  • 单目3d重建
  • c语言实例 -- 循环链表
  • 【保研纪念】计算机保研经验贴——南大cs、复旦cs、中南cs、清深海洋、清软
  • Linux相关概念和重要知识点(11)(进程调度、Linux内核链表)
  • 了解芯片光刻与OPC
  • 【JWT安全】portswigger JWT labs 全解
  • Redis:初识Redis
  • 【网络安全 | 靶场搭建】Maven构建项目+报错解决方法(无法解析插件)
  • Oracle中TRUNC()函数详解
  • 典型模拟滤波器
  • 一文带你入门客制化键盘,打造专属打字利器
  • C动态内存管理
  • 【重学 MySQL】五十一、更新和删除数据