创建自己的对象

2016-02-19 18:14 3 1 收藏

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的创建自己的对象懂设计的网友们快点来了解吧!

【 tulaoshi.com - 编程语言 】

  要创建自己的对象实例,必须首先为其定义一个构造函数。构造函数创建一个新对象,赋予对象属性,并在合适的时候赋予方法。例如,下面的示例为 pasta 对象定义了构造函数。注重 this 要害字的使用,它指向当前对象。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)
// pasta 是有四个参数的构造器。function pasta(grain, width, shape, hasEgg){// 是用什么粮食做的?this.grain = grain;// 多宽?(数值)this.width = width; // 横截面外形?(字符串)this.shape = shape;   // 是否加蛋黄?(booleanthis.hasEgg = hasEgg;  }

  定义了对象构造器后,用 new 运算符创建对象实例。

var spaghetti = new pasta("wheat", 0.2, "circle", true);var linguine = new pasta("wheat", 0.3, "oval", true);

  可以给对象实例添加属性以改变该实例,但是用相同的构造器生成的其他对象定义中并不包括这些属性,而且除非你特意添加这些属性那么在其他实例中并不显示出来。假如要将对象所有实例的附加属性显示出来,必须将它们添加到构造函数或构造器原型对象(原型在高级文档中讨论)中。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)
// spaghetti 的附加属性。spaghetti.color = "pale straw";spaghetti.drycook = 7;spaghetti.freshcook = 0.5;var chowFun = new pasta("rice", 3, "flat", false); // chowFun 对象或其他现有的 pasta 对象// 都没有添加到 spaghetti 对象// 的三个新属性。// 将属性‘foodgroup’加到 pasta 原型对象// 中,这样 pasta 对象的所有实例都可以有该属性,// 包括那些已经生成的实例。pasta.prototype.foodgroup = "carbohydrates"// 现在 spaghetti.foodgroupchowFun.foodgroup,等等// 均包含值“carbohydrates”。
在定义中包含方法

  可以在对象的定义中包含方法(函数)。一种方法是在引用别处定义的函数的构造函数中添加一个属性。例如,下面的示例扩充上面定义的 pasta 构造函数以包含 toString 方法,该方法将在显示对象的值时被调用。

// pasta 是有四个参数的构造器。// 第一部分与上面相同。function pasta(grain, width, shape, hasEgg){// 用什么粮食做的?this.grain = grain;// 多宽?(数值)this.width = width; // 横截面外形?(字符串)this.shape = shape;   // 是否加蛋黄?(booleanthis.hasEgg = hasEgg;  // 这里添加 toString 方法(如下定义)。// 注重在函数的名称后没有加圆括号;// 这不是一个函数调用,而是// 对函数自身的引用。this.toString = pastaToString;}// 实际的用来显示 past 对象内容的函数。 function pastaToString(){// 返回对象的属性。return "Grain: " + this.grain + "" +"Width: " + this.width + "" +"Shape: " + this.shape + "" +"Egg?: " + Boolean(this.hasEgg);}var spaghetti = new pasta("wheat", 0.2, "circle", true);// 将调用 toString() 并显示 spaghetti 对象// 的属性(需要Internet 浏览器)。window.alert(spaghetti);

来源:https://www.tulaoshi.com/n/20160219/1617068.html

延伸阅读
按照类型名称动态创建对象 作者:死猫 提交者:eastvc 发布日期:2003-9-20 10:22:27 原文出处:http://www.cpphelp.net/issue/classbyname.html 1 引言 我的一个实际项目中,由于希望通过一致的接口控制各种型号的设备,并且可以方便的随时扩充,以便将来支持更多的型号。因此,必须在运行时指定设备的型号。 为了使应用程序可以透明的...
标签: FLASH flash教程
今天在flash gamer群与一朋友讨论组件的制作,今天在硬盘里翻了翻,找到了几个用mx2004做的组件。 这个是纯as的ProgressBar as文件 /**  * looding bar  *  * @作者 章精设(zjs35)  * @版本 v1  */  import fc.graphics.draw2d.Rect;  import fc.graphics....
Director的大名就不用多说了,它依靠强大的Lingo语言可以创造出惊人的动画效果,但对于不精通Lingo语言的用户可就有点高不可攀了。还好,Director为我们准备了许多行为库(Behavior),依靠她,我们只要点几下鼠标,照样可以制作出意想不到的动画。废话少说,现在我们就利用行为库来制作一个钟表。 素材准备 1、用矢量图形工具分别绘制三...
标签: Web开发
准备新建一个项目,却发生一件奇怪的事情,系统报告“automation服务器不能创建对象”错误。然后在解决方案中只见项目名,而不见项目文件了。真是奇怪。再尝试打开已有项目,却一切正常。windows应用程序,控制台,或是Web应用程序,都无法建立。 只需要运行:regsvr32 scrrun.dll 就可以了。
标签: ASP
一、ASP创建对象的技巧 当我们使用服务器组件创建对象时,一般有两种方法。比较常用的方法是用SERVER对象的CreateObject() 方法,象这样: SET NextLink = Server.CreateObject("MSWC.NextLink") 这种方法很好用,但是还有一种方法更节省系统资源。 当你用Server.CreateObject()方法创建对象时,对象立即被加载,同时系统...

经验教程

185

收藏

69
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部