当前位置: 首页 > news >正文

烟台做网站的公司/游戏推广员好做吗

烟台做网站的公司,游戏推广员好做吗,二级网站有什么好处,如何做外链Prototype 原型模式 原型模式: 原型模式是创建型模式的一种,其特点在于通过「复制」一个已经存在的实例来返回 新的实例,而不是新建实例。被复制的实例就是我们所称的「原型」,这个原型是可 定制的。 原型模式多用于创建复杂的或者耗时的实例,因为这…

Prototype 原型模式

  • 原型模式:
    原型模式是创建型模式的一种,其特点在于通过「复制」一个已经存在的实例来返回
    新的实例,而不是新建实例。被复制的实例就是我们所称的「原型」,这个原型是可
    定制的。
    原型模式多用于创建复杂的或者耗时的实例,因为这种情况下,复制一个已经存在
    的实例使程序运行更高效;或者创建值相等,只是命名不一样的同类数据。

  • 示例类图:
    Prototype_uml

  • 示例代码:

// Prototype Class
public class Cookie implements Cloneable, Serializable {private static final long serialVersionUID = 1L;protected String type = "饼干";protected Date createTime = new Date();public void setCreateTime(Date createTime) {this.createTime = createTime;}@Overridepublic String toString() {return "[type=" + type + "createTime=" + createTime.getTime() + "] " + hashCode();}// 浅复制@Overridepublic Cookie clone() {try {return (Cookie) super.clone();} catch (CloneNotSupportedException e) {e.printStackTrace();}return null;}// 深复制public Cookie deepClone() {try {// 写入当前对象的二进制流ByteArrayOutputStream bos = new ByteArrayOutputStream();ObjectOutputStream oos = new ObjectOutputStream(bos);oos.writeObject(this);// 读出二进制流产生的新对象ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());ObjectInputStream ois = new ObjectInputStream(bis);return (Cookie) ois.readObject();} catch (Exception e) {e.printStackTrace();}return null;}
}
// ConcretePrototype
public class SweetCookie extends Cookie {private static final long serialVersionUID = 1L;public SweetCookie() {this.type = "小甜饼";}
}// Client
public class CookieMachine {private Cookie cookie;// cookie必须是可复制的public CookieMachine(Cookie cookie) {this.cookie = cookie;}public Cookie makeCookie() {// return cookie.clone();return cookie.deepClone();}public static void main(String args[]) {List<Cookie> cookies = new LinkedList<Cookie>();Cookie prototype = new SweetCookie();CookieMachine cm = new CookieMachine(prototype); // 设置原型for (int i = 0; i < 5; i++) {sleep();Cookie cookieNew = cm.makeCookie();cookieNew.setCreateTime(new Date());// 设置新时间// 通过复制原型返回多个cookiecookies.add(cookieNew);}System.out.println(cookies);}static void sleep() {try {Thread.sleep(200);} catch (InterruptedException e) {}}
}


  • 浅复制:

将一个对象复制后,基本数据类型的变量都会重新创建,而引用类型,指向的还是原对象所指向的。

深复制:
将一个对象复制后,不论是基本数据类型还有引用类型,都是重新创建的。简单来说,就是深复制进行了
完全彻底的复制,而浅复制不彻底。

转载于:https://www.cnblogs.com/longshu/p/6818119.html

http://www.jmfq.cn/news/5267737.html

相关文章:

  • wordpress模板 更换/seo刷关键词排名免费
  • 石家庄市最新公告/苏州整站优化
  • 吉林seo基础知识/上首页seo
  • 网站建设费用:做个网站要多少钱?/影视剪辑培训机构排名
  • 自己做网站能宣传自己的产品吗/网络推广员为什么做不长
  • 北京建设网站的公司兴田德润优惠/seo 优化顾问
  • 营销型网站 开源程序/大数据营销系统软件
  • 做美女网站挣钱/百度首页关键词推广
  • 兰州企业做网站/软文写作服务
  • 海南智能网站建设公司/外贸独立站推广
  • 网页的制作教案/成都网站seo厂家
  • 做公司网站需要准备什么/怎么有自己的网站
  • 重庆金融网站建设/搜索引擎优化心得体会
  • 网站制作团队分工/网站seo价格
  • 深圳有哪些网站是做餐饮沙龙的/关键词优化公司排名榜
  • 做电影网站犯罪吗/百度灰色词排名代发
  • 长沙做网站kaodezhu/seo手机关键词网址
  • 建设百度网站/seo费用
  • 上海高端工作室网站/网络推广公司可不可靠
  • 建设银行网站怎么设置转账额度/产品运营主要做什么
  • 网站手机站怎么做的/代刷网站推广
  • 长沙网站制作费用/河源新闻最新消息
  • 广西网站建设价格/app推广在哪里可以接单
  • wordpress新建页面不能保存路径/贵州快速整站优化
  • 泊头做网站的/百度竞价推广效果怎么样
  • 整站优化温州怎么做?/网上国网app
  • 房地产开发建设网站/抖音seo软件
  • 网站建设 价格低/查图百度识图
  • 网站后台修改导航栏/公司seo是什么职位
  • 用哪个网站做相册视频/广州网站推广运营