如果是不能继承私有属性的话,为什么猫和狗都有“name”这个私有变量

如果是不能继承私有属性的话,为什么猫和狗都有“name”这个私有变量

正在回答

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

1回答

子类并没有直接操作属性name。setName()和getName() 都是public的,所以是调用setName()和getName()来达到目的的哦。祝:学习愉快

  • 慕田峪2007516 提问者 #1
    老师谢谢您回答,我的意思是按照子类不能继承父类私有属性的规则的话,猫里“name”这个变量都是没有声明的,所以“this.name”按理应该干脆不存在,公共方法调用对象中不存在的“this.name”应该出错才对,我刚刚查到了这个规则:子类不能继承父类的私有属性,但是如果子类中公有的方法影响到了父类私有属性,那么私有属性是能够被子类使用的。感觉就合理了
    2020-04-28 16:59:30
  • 好帮手慕雪 回复 提问者 慕田峪2007516 #2
    哈哈,你理解就好。其实:“子类不能继承父类的私有属性”vs "子类并没有直接操作属性name。" "但是如果子类中公有的方法影响到了父类私有属性,那么私有属性是能够被子类使用的" vs "setName()和getName() 都是public的,所以是调用setName()和getName()来达到目的的哦" 就是这个意思哦
    2020-04-28 17:12:58
  • 慕田峪2007516 提问者 回复 好帮手慕雪 #3
    两个说法意思一样,明白了,老师谢谢您帮助。
    2020-04-28 17:31:50
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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