javascript中如何实现封装,继承和多态,并有详细的示例

javascript中如何实现封装,继承和多态,并有详细的示例

ID:9880730

大小:182.01 KB

页数:0页

时间:2018-05-11

javascript中如何实现封装,继承和多态,并有详细的示例_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《javascript中如何实现封装,继承和多态,并有详细的示例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、JavaScript与OOP李赞红欢迎交流:lifenote@21cn.com1目标Function对象的apply方法自定义对象封装继承多态2apply()Javascript的每个Function对象中有一个apply方法语法:function.apply([thisObj[,argArray]])功能:可以用来代替另一个对象调用一个方法,将一个函数的对象上下文从初始的上下文改变为由thisObj指定的新对象。用来模拟多态另外一个相似的方法function.call([thisObj[,arg1[,arg2[,[,.argN]]]]])3示例functi

2、onObject1(name){this.name=name;this.fun1=function(){alert("这是第一个方法。");};this.fun2=function(){alert("这是第二个方法。");};}functionObject2(name){Object1.apply(this,[name]);}varo2=newObject2("中华人民共和国");o2.fun1();o2.fun2();alert(o2.name);4基本概念自定义对象根据JS的对象扩展机制,用户可以自定义JS对象,这与Java语言有类似的地方。如:Math

3、、Date、String等原型(prototype)通过prototype可以为对象在运行期间添加新的属性和方法。5创建对象(1)对象初始化器方式语法objectName={property1:value1,property2:value2,…,propertyN:valueN,method1:function(arguments){…},…}其中:property是对象的属性,value则是对象的值,值可以是字符串、数字或对象三者之一。6示例varUsers={name:"中国",register:function(i){alert("注册了"+i+"次"

4、);}};Users.register(3);alert(Users.name);7创建对象(2)构造函数方式编写一个构造函数,并通过new方式来创建对象,构造函数本可以带有构造参数。可以在对象中定义私有成员、实例成员和类成员8示例//订单构造函数functionOrder(date,total){this.date=date;this.total=total;this.calc=function(name){alert(name+"正在统计"+this.date+"下的订单,总数为"+this.total);}}varo=newOrder(newDate(

5、),10);o.calc("李赞红");9对象属性的定义私有属性私有属性只能在构造函数内部定义与使用。实例属性必须在对象实例化后才能使用prototype方式,语法格式:functionName.prototype.propertyName=valuethis方式,语法格式:this.propertyName=value类属性直接通过类名去使用语法格式:functionName.propertyName=value10示例functionCustomer(){this.name="北大青鸟";//对象属性varbrowser=(document.all?"I

6、E":"FireFox");//私有属性Customer.prototype.theBrowser=browser;//对象属性}Customer.company="北大青鸟教育集团";//类属性//Testalert(Customer.company);varc=newCustomer();alert(c.name+"r"+c.theBrowser);11对象方法的定义私有方法私有方法只能在对象内部使用实例方法实例方法必须在对象实例化后才能使用语法与对象属性相同类方法类方法可以直接通过类名去使用12示例functionMiss(){varyou=fu

7、nction(){alert(“Missyou”);}//私有方法this.me=function(){alert(“missme”);}//对象方法//对象方法Miss.prototype.he=function(){alert("misshim");}}//类方法Miss.she=function(){alert("missshe");}Miss.she();varm=newMiss();m.me();m.he();13小结14动态删除属性和方法对于已经实例化的对象,我们可以动态增加和删除它的属性与方法语法:动态删除对象属性deleteobj.prope

8、rtyName动态删除对象方法deleteobj.m

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

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

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