基础
定义: 用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。
类型: 创建类模式
关键点: 通过复制现有的实例来创建新的实例。
类图
Java代码
class Prototype implements Cloneable {
@Override
public Prototype clone() {
Prototype prototype = null;
try {
prototype = (Prototype) super.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return prototype;
}
}
class ConcretePrototype extends Prototype {
public void show() {
System.out.println("原型模式实现类");
}
}
public class Client {
public static void main(String[] args){
ConcretePrototype cp = new ConcretePrototype();
for (int i = 0; i < 10; i++) {
ConcretePrototype clonecp = (ConcretePrototype)cp.clone();
clonecp.show();
}
}
}
PHP代码
class Prototype
{
public function clone()
{
return clone $this;
}
}
class ConcretePrototype extends Prototype
{
public function show()
{
echo "原型模式实现类\n";
}
}
class PrototypeTest extends TestCase
{
public function test()
{
$cp = new ConcretePrototype();
for ($i = 0; $i < 10; $i++) {
$cloneCp = $cp->clone();
$cloneCp->show();
}
}
}
执行结果
原型模式实现类
原型模式实现类
原型模式实现类
原型模式实现类
原型模式实现类
原型模式实现类
原型模式实现类
原型模式实现类
原型模式实现类
原型模式实现类