设计模式-原型模式(一)

2023-05-03 15:12:24 浏览数 (1)

原型模式是一种创建型设计模式,它可以通过克隆已有的对象来创建新的对象,避免了重复创建相似对象的开销。原型模式是一种基于对象复制的创建方式,它能够在运行时动态地生成新对象,并根据需要进行修改。

在原型模式中,我们需要定义一个原型接口或抽象类,这个接口或抽象类需要定义用于复制自身的方法。然后我们可以通过实现这个接口或抽象类来创建具体的原型对象,并通过克隆已有的对象来生成新对象。

下面我们通过一个例子来详细介绍原型模式的使用方法和实现细节。

假设我们有一个学生类,其中包含学生的姓名和年龄信息,我们希望能够根据已有的学生对象创建新的学生对象,并根据需要修改新对象的属性。我们可以使用原型模式来实现这个需求。

首先,我们需要定义一个原型接口,该接口中需要包含用于复制自身的方法:

代码语言:javascript复制
public interface Prototype {
    Prototype clone();
}

然后,我们需要定义一个具体的学生类,实现原型接口并重写复制方法:

代码语言:javascript复制
public class Student implements Prototype {
    private String name;
    private int age;
    
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public int getAge() {
        return age;
    }
    
    public void setAge(int age) {
        this.age = age;
    }
    
    @Override
    public Prototype clone() {
        return new Student(name, age);
    }
}

在这个学生类中,我们定义了学生的姓名和年龄属性,并实现了原型接口中的 clone() 方法,该方法返回一个新的学生对象并复制原有对象的属性。

0 人点赞