关于原型继承和构造继承的区别

关于原型继承和构造继承的区别

是不是原型继承可以继承父级的成员变量而构造继承无法继承成员变量

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕星星 2019-07-02 15:24:58

你好,JavaScript中没有成员变量,java中才有,所以不要混淆了。

方法都是可以继承的,这句话是有问题的。

之前给同学举的两个例子中自己测试下结果就可以看出来属性以及方法是否继承了,下面给同学再解释一下。

(1)原型继承:

http://img1.sycdn.imooc.com//climg/5d1b06a50001544f05030390.jpg

http://img1.sycdn.imooc.com//climg/5d1b060a000191a404080226.jpg

自身属性和方法以及原型上的属性和方法都是可以继承的。

(2)构造继承:

http://img1.sycdn.imooc.com//climg/5d1b06940001b2c605090444.jpg

http://img1.sycdn.imooc.com//climg/5d1b06860001267803950157.jpg

只继承了自身的属性和方法,原型上的属性和方法不会继承。

这就是原型继承和构造继承的区别,自己可以测试下。

好帮手慕星星 2019-07-02 14:19:48

你好,同学的描述有些不太清楚:

(1)成员变量指的是构造函数中的属性或者方法嘛,使用this或者在原型上添加的内容。

(2)原型继承是可以继承父级中属性和方法,例如:

http://img1.sycdn.imooc.com//climg/5d1af69f0001c3dc04990270.jpg

而构造继承说的是选择题中这种方式吗?

http://img1.sycdn.imooc.com//climg/5d1af6c00001ab2004170191.jpg

这种方式只能继承this设置的内容,原型上的内容不能继承。

这两种方式自己可以举例测试下,如果还没有解决你的问题,建议描述具体一些,便于准确定位问题所在,帮助你解决。

祝学习愉快!

  • 提问者 SuperMan_GYD #1
    ..........我说的成员变量是属性。。。。。方法都是可以继承的,,,关键是属性,,,这构造继承和原型真的有区别,,,一个可以继承,一个不可以
    2019-07-02 14:49:44
  • 提问者 SuperMan_GYD #2
    你这个说法说的我都蒙了
    2019-07-02 14:50:05
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师