在JavaScript中实现继承可以有多种方法,下面说两种常见的。一,call 继承,先看代码: 先定义一个“人”类 再定义一个学生类,让它继承于Person 关键看 Person.call(this)这句,其中this代表当前对象,即Student ,这很容易理解,而Person.call(this)的意思是:将Person类的所有的公开成员“附加”给Student类,让Student也具有了Person的所有功能。 和高级语言一样,如果子类中出现了和父类中同名的成员,则会将其覆盖,也就是所谓的“重写”了。 同样的,我们再定义一个女孩类 : 我们可以测试一下: 多重继承时要注意顺序,如果两个类中有相同名称的成员,那么后一个将覆盖前一个,也就是说当前类只会继承后一个类中的成员。 call 方法继承就说到这,如果大家对call方法不清楚,就请去问问谷歌兄,我就不赘述了,网上转载得不要太多。下面说下另外一种继承方式。 二,prototype 原型继承: 我们再定义一个班长类: 上面定义了一个硕士类,现在这个硕士被提升为班长了,所以这个Master要继承SquadLeader了,这次我们用prototype 来实现,请看下面代码: Master.prototype=new SquadLeader();//prototype 属性指向一个对象 //或者 //Master.prototype=SquadLeader.prototype; 这样Master就继承了SquadLeader类,就这么一句话,这里有两种形式,其实原理是一样的。意思是:将SquadLeader的“灵魂”拷贝给了Master,于是从此SquadLeader能做的事,Master都可以做了。 测试一下: var master=new Master(); master.hi()//输出“同学们好,我现在是班长了” 我个人比较喜欢用第一种方案(call 继承)来实现继承,所有代码都包在一个“{}”内,一目了然,在书写风格上较之于第二种更接近于C#。prototype 属性我一般用来对已有的类做扩展。 JavaScript是门非常灵活的语言,实现继承可能还有其他更好的方式,大家可以去研究挖掘,我在这就当是抛了块砖头, 希望能引出华美的玉石!
推荐整理分享Javascript 面向对象 继承(javascript面向对象精要pdf下载),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:javascript面向对象编程,javascript面向对象精要pdf,javascript面向对象编程 PDF,javascript面向对象编程指南第三版,javascript面向对象编程,javascript面向对象精要pdf,javascript面向对象精要pdf,javascript面向对象吗,内容如对您有帮助,希望把文章链接给更多的朋友!
javascript 面向对象 function类 如下:functionStudent(){//定义类Student中的字段,并赋予初值,但此字段的访问权限是publicthis.studentNo='s';this.studentName='小明';this.sex='男';//定义类Student中
Javascript 面向对象 命名空间 javascript中本没有命名空间的概念,但是要体现面向对象的思想,应当有命名空间,就像java中的package,.net中的namespace一样,作用主要为了防止类名冲突
Javascript 面向对象 对象(Object) javascript中的对象创建声明:varobj={};或者varobj=newObject();为对象加入属性,方法://=====第一种写法====================================obj.name='小明';//为对象加属