原型模式是指将类设计成可复制(克隆)类型,继承Cloneable类,在调用时就可以直接通过clone()方法克隆已有对象生成新的对象。其优点是使用clone()方法创建新对象时消耗的资源比使用new方法创建新对象时消耗的资源要少,因此采用原型方法可以提高性能,减少消耗。
以下一个实例说明原型模式的使用方法,如图创建各类。PrototypeCapable接口类继承Cloneable类,而Movie和show这两个类实现PrototypeCapable接口,是具体的可复制原型类型。
PrototypeCapable接口类:
package prototype;
public interface PrototypeCapable extends Cloneable{
PrototypeCapable clone() throws CloneNotSupportedException;
}
Movie具体原型类:
package prototype;
public class Movie implements PrototypeCapable{
@Override
public Movie clone() throws CloneNotSupportedException{
System.out.println(this);
return (Movie)super.clone(); //返回超类的克隆
}
}
Show具体原型类:
package prototype;
public class Show implements PrototypeCapable{
@Override
public Show clone() throws CloneNotSupportedException{
System.out.println(this);
return (Show)super.clone(); //返回超类的克隆
}
}
主函数调用方式:
package main;
import prototype.*;
public class ProtoType {
public static void main(String[] args) throws CloneNotSupportedException {
//电影类原型
Movie moviePrototype = new Movie();
//克隆电影类原型
Movie movie = moviePrototype.clone();
System.out.println(moviePrototype);
System.out.println(movie);
//演出类原型
Show showPrototype = new Show();
//克隆演出类原型
Show show = showPrototype.clone();
System.out.println(showPrototype);
System.out.println(show);
}
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
Cyclone
+关注
关注
0文章
54浏览量
29967 -
protothread
+关注
关注
1文章
3浏览量
2006
发布评论请先 登录
相关推荐
两种LED驱动模式的功能及使用方法
中颖MCU普通LED模块(非恒流)提供了两种LED驱动模式:亮灭模式、调光模式。两种模式的功能及使用方法简介如下。
发表于 08-26 11:18
•2453次阅读
u***量产工具怎么用,即使用方法
u***量产工具怎么用,即使用方法phison-UP10量产工具成USB-cdrom1、将下载的phison-UP10量产工具v1.78.00解压到任一目录。2、运行F1_B4_v178.exe或
发表于 04-20 23:44
JavaScript中的Object
次,所以 sayName 方法的引?指向的是同一个堆内存对象。● 书中是这样写的:使?动态原型模式时,不能使用对象字?量重写原型。前面已经解释过了,如果在已经创建了
发表于 09-18 09:05
单片机典型模块设计实例导航(含源代码)
单片机典型模块设计实例导航(含源代码)
《单片机典型模块设计实例导航》以单片机的功能为模块,以外围器件、相关电路设计的实际应用为内容,以
发表于 03-08 16:11
•210次下载
一种多类原型模糊聚类的初始化方法
一种多类原型模糊聚类的初始化方法
模糊聚类是非监督模式分类的一个重要分支,在模式识别和图像处理中已经得到了广泛的应用.但现有模糊聚类算法大都需要聚类数
发表于 10-21 16:02
•925次阅读
嵌入式 C 语言之原型模式应用
原型模式(Prototype Pattern),是属于创建型模式的一种。原型模式主要是使用了原型对象实例,来指定被创建对象的种类,并且通过拷
发表于 01-12 11:14
•206次阅读
评论