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

购物网站开发流程图考试微网站开发

购物网站开发流程图,考试微网站开发,固始县网站建设培训,在线平台在《Javascript玩转继承#xff08;二#xff09;》中#xff0c;我使用了原型继承法来实现Javascript的继承#xff0c;那原型究竟奥秘何在。在这篇文章中#xff0c;我就主要针对原型来展开讨论。 抛开Javascript#xff0c;我们先来看我们熟悉的常规的面向对象语言。…在《Javascript玩转继承二》中我使用了原型继承法来实现Javascript的继承那原型究竟奥秘何在。在这篇文章中我就主要针对原型来展开讨论。 抛开Javascript我们先来看我们熟悉的常规的面向对象语言。在23种设计模式中大家一定会记得有一种设计模式——原型模式。我们先来看一下结构图     原图引自http://terrylee.cnblogs.com/archive/2006/01/16/317896.html   先来复习一下原型模式看到这个图大家一定会注意到这个千千万万的Clone()方法这个就是原型模式的核心。原型模式就是用原型实例来创建对象的种类然后通过拷贝这些原型来创建新的对象。 在.NET中这个模式的实现很容易我们只需要实现ICloneable接口 我还记得在爱情左灯右行里那个Angel说了这样一句话任何东西到了批量生产的时候这个质量就得不到保证了。这个是典型的原型模式批量生产。为什么质量会下降呢原因就在于他是采用的复制。 看代码 class People:ICloneable {      private string name;      private int age;      private Liststring friends new Liststring();      public People(string name,int age,params string[] names)      {                this.namename;           this.ageage;           foreach (string s in names)           {                friends.Add(s);           }      }      public string Name      {           get{return name;}           set{namevalue;}      }      public int Age      {           get{return age;}           set{agevalue;}      }      public Liststring Friends      {           get { return friends; }           set { friends value; }      }      public object Clone()      {           return this.MemberwiseClone();      }      public override string ToString()      {           string ret name:name age:age friends: ;           foreach (string s in friends)           {                ret s ,;           }           return ret;      } } 然后我们初始化一个对象 People p1 new People(Windking, 20, 111, 222, 333, 444); 接下来复制一个对象 People p2 (People)p1.Clone(); 输出一下 Console.WriteLine(p1: p1.ToString()); Console.WriteLine(p2: p2.ToString()); 好现在来改变 p2.Name Xuan; p2.Age 22; p2.Friends.Add(555); 再输入 Console.WriteLine(p1: p1.ToString()); Console.WriteLine(p2: p2.ToString()); 我们看到p2的改变直接作用到了原型p1的数组元素。因为这只是一个浅复制在复制的时候对于引用类型只是复制了他的地址也就是说当两个对象指向内部的同一个引用对象因此当修改的时候引用类型的值是牵一发而动全身的。这也就是所谓的任何东西到了批量生产的时候这个质量就得不到保证了。 可能这时会有人问String不也是引用类型么为什么他并没有因为p2的改变而影响的原型呢关于这个请关注我的下一篇文章《C#玩转String》。 那怎么办可以解决么可以的。之前是浅复制我们只需要改成深复制这就不是批量生产了其实我个人认为这就不算克隆了而只是相当于把创建新对象的任务给封装起来 罢了。先看这张图来理解下深复制和浅复制。   原图引自http://www.cnblogs.com/Terrylee/archive/2006/01/06/312493.html 好看看深复制的代码 其他的代码与上述都一样不同的只是复制的代码 public object Clone() {      Liststring cloneFriends new Liststring(friends);      string[] cloneArrayFriends cloneFriends.ToArray();             //其实一点都不神秘不过是把初始化对象封装罢了。      return new People(this.name, this.age, cloneArrayFriends); } 测试下 p2的改变没有影响到原型p1。 好了本来是要讲Javascript的Prototype的结果却罗嗦了一页面的原型模式。太多了我会在下文中来讨论Javascript的Prototype。敬请关注。 转载于:https://www.cnblogs.com/kym/archive/2009/01/25/1380883.html
http://www.pierceye.com/news/39677/

相关文章:

  • 网站 需求文档公司名字测吉凶免费
  • google网站提交php网站留言板模板下载
  • 石家庄php网站建设做外贸一般做什么
  • 汉南网站建设建设工程扣分查询网站
  • 个人电影网站建设网站建设的整体流程有哪些?
  • 福建宏盛建设集团网站学ps网课平台哪个好
  • 关于网站建设的请示报告吕梁市住房与城乡建设厅网站
  • win2012 iis添加网站南宁市网页设计
  • 源码下载网站源码外贸set是什么意思
  • 徐州网站制作怎么做小程序商家
  • 我想自己做网站江西省上饶市城乡建设网站
  • 园林网站源代码网站备案流程慢
  • 免费背景图片素材网站免费素材图片下载
  • 网站开发精品课程常见网页制作软件
  • 深圳松岗做网站的老板让做公司网站设计
  • 电子商务网站建设的总体设计网站服务内容填网站建设可以
  • 如果只做p2p种子搜索网站网站建设 职责
  • 成都住房和城乡建设局 网站首页可以做甩货的电商网站
  • 提升网站安全热搜榜排名前十
  • 桃源县建设局网站学校校园网站 资源建设方案
  • 网络传销是否传销网站优化过度的表现
  • 网站建设中最重要的网站找回备案密码怎么不对
  • 网站页面架构怎么写网站上的搜索功能是怎么做的
  • 百度医院网站建设wordpress_ joomla_ drupal
  • 哪些网站可以免费申请河北建设厅网站修改密码在哪里
  • 点个赞科技 网站制作哈尔滨建设网站
  • 双云官方网站怎么做网页二维码
  • 长春星宿网站建设公司怎么样网站页面建议
  • 免费的网站空间设计动画公司
  • 甘肃建设项目公示网站杭州网站建设公司有哪些