javascript基于对象三大特性(封装性、继承性、多态性)_javascript技巧

javascript基于对象三大特性(封装性、继承性、多态性)_javascript技巧

ID:30777220

大小:80.00 KB

页数:7页

时间:2019-01-03

javascript基于对象三大特性(封装性、继承性、多态性)_javascript技巧_第1页
javascript基于对象三大特性(封装性、继承性、多态性)_javascript技巧_第2页
javascript基于对象三大特性(封装性、继承性、多态性)_javascript技巧_第3页
javascript基于对象三大特性(封装性、继承性、多态性)_javascript技巧_第4页
javascript基于对象三大特性(封装性、继承性、多态性)_javascript技巧_第5页
资源描述:

《javascript基于对象三大特性(封装性、继承性、多态性)_javascript技巧》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Javascript基于对象三大特性(封装性、继承性、多态性)Javascript基于对象的三大特征和C++,Java面向对象的三大特征一样,都是封装(encapsulation)>继承(inheritance)和多态(polymorphism)o只不过实现的方式不同,其基本概念是差不多的。其实除三大特征之外,还右一个常见的特征叫做抽象(abstract),这也就是我们在一些书上有时候会看到面向对象四大特征的原因了。一、封装性封装就是把抽象出来的数据和对数据的操作封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作(成员方法),才能对数据进行操作。案例:

2、PS:JS封装只冇两种状态,一种是公开的,一种是私冇的。通过构造函数添加成员方法和通过原型法添加成员方法的区别1、通过原型法分配的函数是所有对象共享的.2、通过原型法分配的属性是独立.

3、(如果你不修改属性,他们是共享)3、建议,如果我们希望所有的对彖使用同一一个函数,最好使用原型法添加函数,这样比较节省内存.案例:functionPerson(){this・name二〃zs";varage二20;this.abc=function(){window.alert(^abc^);}functionabc2(){window,alert(,zabc,z);}}Pcrson.prototypc.funl二function(){window.alert(this.name);//ok//window,alert(age);//nook//abc2();//nookthis,abc(

4、);//ok}varpl二newPerson();pl.funl();特别强调:我们前面学习的通过prototype给所有的对象添加方法,但是这种方式不能去访问类的私有变量和方法。二、继承性继承可以解决代码复用,让编程更加靠近人类思维。当多个类存在相同的屈性(变量)和方法时,可以从这些类中抽彖出父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法,只需要通过继承父类屮的属性和方法。JS中实现继承的方式1、对彖冒充案例:functionStu(name,age){this.name二

5、name;this.age二age;this.show二function(){window,alert(this,name+〃“+this.age);}}functionMidStu(name,age){this,stu二Stu;//通过对象冒充来实现继承的//对象冒充的意思就是获取那个类的所冇成员,因为JS是谁调用那个成员就是谁的,这样MidStu就有了Stu的成员了this,stu(name,age);this.payFee二function(){window,alert(,z缴费"+money*0.8);}}functionPupil(name,age){this.stu二Stu;/

6、/通过对象冒充來实现继承的this・stu(name,age);this.payFee=function(){window,alert(,z缴费〃+money*0.5);}}varmidStu=newMidStu("zs",13);midStu.show();varpupil二newPup订(〃ls〃,10);pupi1.show();2、通过call或者apply实现案例://1・把子类屮共冇的屈性和方法抽取岀,定义一个父类Stuf

7、unctionStu(name,age){//window,alert(z,确实被调用.“);this.name=name;this・agc=agc;this.show二function(){window,alert(this.name+"年龄是二〃+this.age);//2.通过对象冒充來继承父类的屈性的方法functionMidStu(name,age){//这里这样理解:通过call修改了Stu构造函数的this

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

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

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