收藏 分销(赏)

JavaScript中的继承之类继承.doc

上传人:精**** 文档编号:9742203 上传时间:2025-04-05 格式:DOC 页数:2 大小:17KB 下载积分:5 金币
下载 相关 举报
JavaScript中的继承之类继承.doc_第1页
第1页 / 共2页
JavaScript中的继承之类继承.doc_第2页
第2页 / 共2页
本文档共2页,全文阅读请下载到手机保存,查看更方便
资源描述
  在JS中继承是一个非常复杂的话题,比其他任何面向对象语言中的继承都复杂得多。接下来通过本文给大家介绍JavaScript中的继承之类继承,感兴趣的朋友一起看看吧   继承简介   在JS中继承是一个非常复杂的话题,比其他任何面向对象语言中的继承都复杂得多。在大多数其他面向对象语言中,继承一个类只需使用一个关键字即可。在JS中想要达到继承公用成员的目的,需要采取一系列措施。JS属于原型式继承,得益于这种灵活性,我们既可以使用标准的基于类的继承,也可以使用更微妙一些的原型式继承。在JS中应该要明确一点,一切继承都是通过prototype来进行的,且JS是基于对象来继承的。   继承:   function Animal(name){   this.name = name;   this.showName = function(){   alert(this.name);   }   }   function Cat(name){   Animal.call(this, name);   }   var cat = new Cat("Black Cat");   cat.showName();   Animal.call(this) 的意思就是使用 Animal对象代替this对象,那么 Cat中不就有Animal的所有属性和方法了吗,Cat对象就能够直接调用Animal的方法以及属性了.   多继承:   function Class10()   {   this.showSub = function(a,b)   {   alert(a-b);   }   }   function Class11()   {   this.showAdd = function(a,b)   {   alert(a+b);   }   }   function Class2()   {   Class10.call(this);   Class11.call(this);   }   很简单,使用两个 call 就实现多重继承了   当然,js的继承还有其他方法,例如使用原型链,这个不属于本文的范畴,只是在此说明call 的用法。说了call ,当然还有 apply,这两个方法基本上是一个意思,区别在于 call 的第二个参数可以是任意类型,而apply的第二个参数必须是数组,也可以是arguments。   下面给大家介绍如何在JavaScript中实现简单的继承?   下面的例子将创建一个雇员类Employee,它从Person继承了原型prototype中的所有属性。   function Employee(name, sex, employeeID) {   this.name = name;   this.sex = sex;   this.employeeID = employeeID;   }   // 将Employee的原型指向Person的一个实例   // 因为Person的实例可以调用Person原型中的方法, 所以Employee的实例也可以调用Person原型中的所有属性。   Employee.prototype = new Person();   Employee.prototype.getEmployeeID = function() {   return this.employeeID;   };   var zhang = new Employee("ZhangSan", "man", "");   console.log(zhang.getName()); // "ZhangSan   上面关于继承的实现很粗糙,并且存在很多问题:   在创建Employee构造函数和原型(以后简称类)时,就对Person进行了实例化,这是不合适的。   Employee的构造函数没法调用父类Person的构造函数,导致在Employee构造函数中对name和sex属性的重复赋值。   Employee中的函数会覆盖Person中的同名函数,没有重载的机制(和上一条是一个类型的问题)。   创建JavaScript类的语法过于零散,不如C#/Java中的语法优雅。   实现中有constructor属性的指向错误。   
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服