5 原型模式
2026/5/12 18:21:21 网站建设 项目流程

原型模式的核心是:

通过复制现有对象来创建新对象,而不是通过new关键字。

简单说:像细胞分裂一样,通过复制自己来创建新对象。

场景:复印机

  • 原稿:就是原型(Prototype)

  • 复印按钮:就是Clone()方法

  • 复印件:就是新创建的对象

你不需要重新手写一份文档,只需要把原稿放进复印机,按下复印按钮,就得到一份一模一样的副本。

  • Prototype(原型接口)

    • 声明Clone()方法

  • ConcretePrototype1、ConcretePrototype2(具体原型)

    • 实现Clone()方法,返回自身的副本

  • Client(客户端)

    • 通过调用prototype->Clone()来创建新对象

public class Client{ public static void main (String[] args) { Product product1 = new Product(2022, 5.28); System.out.println(product1.getId() + "" + product1.getPrice()); Product product2 = (Product)product1.Clone(); System.out.println(product2.getId() + "" + product2.getPrice()); Product product3 = (Product)product1.Clone(); System.out.println(product3.getId() + "" + product3.getPrice()); } } // 原型接口 interface Prototype{ Object Clone(); } // 具体原型 class Product implements Prototype{ private int id; private double price; public Product(){ } public Product(int id, double price){ this.id = id; this.price = price; } public int getId(){ return id; } public double getPrice(){ return price; } @Override public Object Clone(){ Product object = new Product(); object.id = this.id; object.price = this.price; return object; } }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询