java设计模式--创建型模式之原型模式
2015-12-02 15:25
405 查看
java的创建型模式有5种:工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式
原型模式:复制一个现有的的对象生成一个新的对象,而不是实例化一个新的对象。
代码实现如下:
1, 依赖的是object类中的clone方法
但是object类中的clone方法是一个protect方法调用,只能子女,朋友调用
protected native Object clone() throws CloneNotSupportedException;
所以调用要重写这个方法
2,实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clone方法。在java虚拟机中,只有实现了这个接口的类才可以被拷贝,否则在运行时会抛出CloneNotSupportedException异常。
原型类基类
public class Prototype implements Cloneable
{
public Prototype clone(){
Prototype prototype=null;
try
{
prototype=(Prototype) super.clone();
}
catch(CloneNotSupportedException e)
{
e.printStackTrace();
}
return prototype;
}
}
原型类实现类
public class FrontPrototype extends Prototype
{
public void show()
{
System.out.println("原型模式!");
}
}
原型类调用的类
public class Client
{
public static void main(String[] args)
{
FrontPrototype front =new FrontPrototype();
FrontPrototype f1= (FrontPrototype) front.clone();
f1.show();
}
}
原型模式:复制一个现有的的对象生成一个新的对象,而不是实例化一个新的对象。
代码实现如下:
1, 依赖的是object类中的clone方法
但是object类中的clone方法是一个protect方法调用,只能子女,朋友调用
protected native Object clone() throws CloneNotSupportedException;
所以调用要重写这个方法
2,实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clone方法。在java虚拟机中,只有实现了这个接口的类才可以被拷贝,否则在运行时会抛出CloneNotSupportedException异常。
原型类基类
public class Prototype implements Cloneable
{
public Prototype clone(){
Prototype prototype=null;
try
{
prototype=(Prototype) super.clone();
}
catch(CloneNotSupportedException e)
{
e.printStackTrace();
}
return prototype;
}
}
原型类实现类
public class FrontPrototype extends Prototype
{
public void show()
{
System.out.println("原型模式!");
}
}
原型类调用的类
public class Client
{
public static void main(String[] args)
{
FrontPrototype front =new FrontPrototype();
FrontPrototype f1= (FrontPrototype) front.clone();
f1.show();
}
}
相关文章推荐
- JAVA设计模式(05):创建型-原型模式(Prototype)
- Java设计模式(5)创建型:原型模式
- Java设计模式_(创建型)_原型模式
- java-设计模式(创建型)-【原型模式】
- java设计模式(创建型)之原型模式
- Java经典设计模式-创建型模式-原型模式(Prototype)
- Java23中设计模式2——创建型模式之原型模式
- JAVA设计模式(05):创建型-原型模式(Prototype)
- Java设计模式_创建型_原型模式_复制对象及状态
- Java[Android]设计模式创建型设计模式之Builder模式+单例模式+原型模式
- Java与设计模式(十四)创建型--原型模式
- Java设计模式之原型模式(属于创建型模式)
- Java设计模式——创建型模式——原型模式(Prototype Pattern)
- JAVA设计模式(5) —<创建型>原型模式(Prototype)
- 【创建型模式】原型模式(Prototype)之23种java设计模式
- Java常用的设计模式05:常用设计模式之原型模式(创建型模式)
- JAVA设计模式(05):创建型-原型模式(Prototype)
- JAVA设计模式 2【创建型】原型模式的理解与使用、理解浅克隆和深克隆
- Java设计模式之创建型模式--原型模式
- Java技术_每天掌握一种设计模式(006)_使用场景及简单实例(创建型:原型模式)