javascript面向对象编程

javascript面向对象编程

ID:38597519

大小:683.00 KB

页数:16页

时间:2019-06-15

javascript面向对象编程_第1页
javascript面向对象编程_第2页
javascript面向对象编程_第3页
javascript面向对象编程_第4页
javascript面向对象编程_第5页
资源描述:

《javascript面向对象编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、javascript面向对象编程夸克项目部:王镇炼目录:一、Javascript面向对象编程的思想二、创建对象三、对象继承四、实例操作五、总结一、Javascript面向对象编程的思想1.用JavaScript实现类JavaScritpt没有专门的机制实现类,这里是借助它的函数允许嵌套的机制来实现类的。一个函数可以包含变量,又可以包含其它函数,这样,变量可以作为属性,内部的函数就可以作为成员方法了。因此外层函数本身就可以作为一个类了。functionmyClass() {     //此处相当于构造函数}这里m

2、yClass就是一个类。其实可以把它看成类的构造函数。至于非构造函数的部分,以后会详细描述。二、创建对象1.如何获得一个类的实例      实现了类就应该可以获得类的实例,JavaScript提供了一个方法可以获得对象实例。即new操作符。其实JavaScript中,类和函数是同一个概念,当用new操作一个函数时就返回一个对象。如下:varobj1 = newmyClass();2.对象的成员的引用 在JavaScript中引用一个类的属性或方法的方法有以下三种。1>点号操作符对象名.属性名;对象名.方法名;2

3、>方括号引用JavaScript中允许用方括号引用对象的成员。如下: 对象名["属性名"];对象名["方法名"];3>使用eval函数如果不希望使用变量传递变量或方法名,又不想使用条件判断,那么eval函数是一个好的选择。eval接收一个字符串类型的参数,然后将这个字符串作为代码在上下文中执行,返回执行的结果。这里正是利用了eval的这一功能。如下:alert(eval("对象名." + element.value));3对象废除把对象的所有引用都设置为null,可以强制性的废除对象。例如:VaroObj=ne

4、wObject;oObj=null;当变量oObject设置为null后,对第一个创建的对象的引用就不存在了。这意味着下次运行无用存储单元收集程序时,该对象将被销毁。每用完一个对象后,就将其废除,来释放内存,这是个好习惯。这样还确保不再使用已经不能访问的对象,从而防止程序设计错误的出现4.公用、受保护和私有作用域对JavaScript讨论这些作用域几乎毫无意义,因为JavaScript中只存在一种作用域——公用作用域。JavaScript中的所有对象的所有属性和方法都是公用的。因此,定义自己的类和对象时,必须格

5、外小心。记住,所有属性和方法默认都是公用的。许多开发者都在网上提出了有效的属性作用域模式,解决了JavaScript的这种问题。由于缺少私有作用域,开发者们制定了一个规约,说明哪些属性和方法应该被看作私有的。这种规约规定在属性名前后加下划线。例如:Obj._color=“red”;这段代码中,属性color是私有的。记住,这些下划线并不改变这些属性是公用属性的事实,它只是告诉其他开发者,应该把该属性看作私有的。5创建类的几种方式1工厂方式2构造函数方式3原型模式4混合的构造函数/原型方式6、创建新方法可以用pr

6、ototype属性为任何已有的类定义新方法,就像处理自己的类一样。例如,还记得Number类的toString()方法吗,如果给它传递16,它将输出十六进制的字符串。Number.prototype.toHexString=function(){returnthis.toString(16);}7、重定义已有方法就像能给已有的类定义新方法一样,也可重定义已有的方法。函数名只是指向函数的指针,因此可以轻易地使它指向其他函数。三、对象的继承说明继承机制最简单的方法是,利用一个经典的例子——几何形状。在这个例子中,形

7、状(Shape)是椭圆形(Ellipse)和多边形(Polygon)的基类(baseclass)(所有类都由它继承而来)。椭圆具有一个属性foci,说明椭圆具有的焦点的个数。圆形(Circle)继承了椭圆形,因此圆形是椭圆形的子类(subclass),椭圆形是圆形的超类(superclass)。同样的,三角形(Triangle)、矩形(Rectangle)和五边形(Pentagon)都是多边形的子类,多边形是它们的超类。最后,正方形(Square)继承了矩形。1、创建对象首先考虑Polygon类。哪些属性和方法

8、是必需的?首先,一定要知道多边形的边数,所以应该加入整数属性sides。还有什么是多边形必需的?也许你想知道多边形的面积,那么加入计算面积的方法getArea()。2.创建子类现在考虑创建Triangle类。三角形具有三条边,因此这个类必须覆盖Polygon类的sides属性,把它设置为3。还要覆盖getArea()方法,使用三角形的面积公式,即1/2×底×高。但如何得到底和高的值呢?

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。