Java原型模式
public interface Prototype {
void setName(String name);
String getName();
void setAge(int age);
int getAge();
Prototype clone();
}
public class Person implements Prototype {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public void setName(String name) {
this.name = name;
}
@Override
public String getName() {
return name;
}
@Override
public void setAge(int age) {
this.age = age;
}
@Override
public int getAge() {
return age;
}
@Override
public Prototype clone() {
return (Prototype) super.clone();
}
}
public class Main {
public static void main(String[] args) {
Person person1 = new Person("Alice", 25);
Person person2 = person1.clone();
person2.setName("Bob");
person2.setAge(30);
System.out.println("person1 name: " + person1.getName());
System.out.println("person1 age: " + person1.getAge());
System.out.println("person2 name: " + person2.getName());
System.out.println("person2 age: " + person2.getAge());
}
}