请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于super关键字不能获取父类实例属性的看法

因为super应该是父类的原型对象空间也就是Parent.prototype,但是父类的原型对象空间并没有其实例属性,所以子类不能通过super获取到,可以通过this关键字获取,但是获取到的是子类继承父类的属性,并不是定义在父类上的属性

可以这么理解吗

请老师帮忙看一下

谢谢

正在回答

1回答

 super有双层含义 , 在子类中使用super调用方法时,它表示的是Parent.prototype纯定义的方法,  在子类构造函数中使用super() 这样写时,表示的是 Parent.call 函数。

this 理解对了,this表示任意一个创建的当前类的对象,每一个对象里面都有单独的内存空间,保存了父类属性的值。

1 回复 有任何疑惑可以回复我~
  • 提问者 目訫 #1
    老师,那应该如何获取除了静态属性父类定义的实例属性呢,难道必须用父类声明实例吗
    回复 有任何疑惑可以回复我~ 2022-03-18 13:58:05
  • keviny79 回复 提问者 目訫 #2
    父类定义实例属性目的就是给 子类对象变量来调用, 子类用this来调用即可, Java的 super可以访问父类非私有的实例字段【TS的属性】,但其实意义不大,所以TS就直接抹掉了。
    回复 有任何疑惑可以回复我~ 2022-03-18 14:02:13
  • 提问者 目訫 #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2022-03-18 21:38:09
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信